summaryrefslogtreecommitdiff
path: root/.localrepo/htmlize-1.59.tar
blob: 798264054fb74c92628a78398f3c2edc2e729a20 (plain)
ofshex dumpascii
0000 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.59/...................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 35 36 33 00 20 35 00 00 00 0000000.00000000000.011563..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 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 4d 61 6b 65 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.59/Makefile...........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 33 34 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 32 33 00 20 30 00 00 00 0003421.00000000000.013223..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 2d 69 6e 63 6c 75 64 65 20 2e 63 6f 6e 66 69 67 2e 6d 6b 0a 0a 50 4b 47 20 3d 20 68 74 6d 6c 69 -include..config.mk..PKG.=.htmli
0420 7a 65 0a 0a 45 4c 53 20 20 20 3d 20 24 28 50 4b 47 29 2e 65 6c 0a 45 4c 43 53 20 20 3d 20 24 28 ze..ELS...=.$(PKG).el.ELCS..=.$(
0440 45 4c 53 3a 2e 65 6c 3d 2e 65 6c 63 29 0a 48 54 4d 4c 20 20 3d 20 24 28 45 4c 53 3a 2e 65 6c 3d ELS:.el=.elc).HTML..=.$(ELS:.el=
0460 2e 65 6c 2e 68 74 6d 6c 29 0a 0a 44 45 50 53 20 20 3d 0a 0a 45 4d 41 43 53 20 20 20 20 20 20 3f .el.html)..DEPS..=..EMACS......?
0480 3d 20 65 6d 61 63 73 0a 45 4d 41 43 53 5f 41 52 47 53 20 3f 3d 0a 0a 4c 4f 41 44 5f 50 41 54 48 =.emacs.EMACS_ARGS.?=..LOAD_PATH
04a0 20 20 3f 3d 20 24 28 61 64 64 70 72 65 66 69 78 20 2d 4c 20 2e 2e 2f 2c 24 28 44 45 50 53 29 29 ..?=.$(addprefix.-L.../,$(DEPS))
04c0 0a 4c 4f 41 44 5f 50 41 54 48 20 20 2b 3d 20 2d 4c 20 2e 0a 0a 61 6c 6c 3a 20 6c 69 73 70 0a 0a .LOAD_PATH..+=.-L....all:.lisp..
04e0 68 65 6c 70 3a 0a 09 24 28 69 6e 66 6f 20 6d 61 6b 65 20 61 6c 6c 20 20 20 20 20 20 20 20 20 20 help:..$(info.make.all..........
0500 2d 20 67 65 6e 65 72 61 74 65 20 62 79 74 65 2d 63 6f 64 65 20 61 6e 64 20 61 75 74 6f 6c 6f 61 -.generate.byte-code.and.autoloa
0520 64 73 29 0a 09 24 28 69 6e 66 6f 20 6d 61 6b 65 20 6c 69 73 70 20 20 20 20 20 20 20 20 20 2d 20 ds)..$(info.make.lisp.........-.
0540 67 65 6e 65 72 61 74 65 20 62 79 74 65 2d 63 6f 64 65 20 61 6e 64 20 61 75 74 6f 6c 6f 61 64 73 generate.byte-code.and.autoloads
0560 29 0a 09 24 28 69 6e 66 6f 20 6d 61 6b 65 20 72 65 64 6f 20 20 20 20 20 20 20 20 20 2d 20 72 65 )..$(info.make.redo.........-.re
0580 2d 67 65 6e 65 72 61 74 65 20 62 79 74 65 2d 63 6f 64 65 20 61 6e 64 20 61 75 74 6f 6c 6f 61 64 -generate.byte-code.and.autoload
05a0 73 29 0a 09 24 28 69 6e 66 6f 20 6d 61 6b 65 20 68 74 6d 6c 69 7a 65 20 20 20 20 20 20 2d 20 68 s)..$(info.make.htmlize......-.h
05c0 74 6d 6c 69 7a 65 20 68 74 6d 6c 69 7a 65 2e 65 6c 29 0a 09 24 28 69 6e 66 6f 20 6d 61 6b 65 20 tmlize.htmlize.el)..$(info.make.
05e0 63 6c 65 61 6e 20 20 20 20 20 20 20 20 2d 20 72 65 6d 6f 76 65 20 67 65 6e 65 72 61 74 65 64 20 clean........-.remove.generated.
0600 66 69 6c 65 73 29 0a 09 40 70 72 69 6e 74 66 20 22 5c 6e 22 0a 0a 72 65 64 6f 3a 20 63 6c 65 61 files)..@printf."\n"..redo:.clea
0620 6e 20 6c 69 73 70 0a 0a 6c 69 73 70 3a 20 24 28 45 4c 43 53 29 20 6c 6f 61 64 64 65 66 73 20 63 n.lisp..lisp:.$(ELCS).loaddefs.c
0640 68 65 63 6b 2d 64 65 63 6c 61 72 65 0a 0a 6c 6f 61 64 64 65 66 73 3a 20 24 28 50 4b 47 29 2d 61 heck-declare..loaddefs:.$(PKG)-a
0660 75 74 6f 6c 6f 61 64 73 2e 65 6c 0a 0a 25 2e 65 6c 63 3a 20 25 2e 65 6c 0a 09 40 70 72 69 6e 74 utoloads.el..%.elc:.%.el..@print
0680 66 20 22 43 6f 6d 70 69 6c 69 6e 67 20 24 3c 5c 6e 22 0a 09 40 24 28 45 4d 41 43 53 29 20 2d 51 f."Compiling.$<\n"..@$(EMACS).-Q
06a0 20 2d 2d 62 61 74 63 68 20 24 28 45 4d 41 43 53 5f 41 52 47 53 29 20 24 28 4c 4f 41 44 5f 50 41 .--batch.$(EMACS_ARGS).$(LOAD_PA
06c0 54 48 29 20 2d 66 20 62 61 74 63 68 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 24 3c 0a 0a 63 68 TH).-f.batch-byte-compile.$<..ch
06e0 65 63 6b 2d 64 65 63 6c 61 72 65 3a 0a 09 40 70 72 69 6e 74 66 20 22 20 43 68 65 63 6b 69 6e 67 eck-declare:..@printf.".Checking
0700 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 5c 6e 22 0a 09 40 24 28 45 4d .function.declarations\n"..@$(EM
0720 41 43 53 29 20 2d 51 20 2d 2d 62 61 74 63 68 20 24 28 45 4d 41 43 53 5f 41 52 47 53 29 20 24 28 ACS).-Q.--batch.$(EMACS_ARGS).$(
0740 4c 4f 41 44 5f 50 41 54 48 29 20 5c 0a 09 2d 2d 65 76 61 6c 20 22 28 63 68 65 63 6b 2d 64 65 63 LOAD_PATH).\..--eval."(check-dec
0760 6c 61 72 65 2d 64 69 72 65 63 74 6f 72 79 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 lare-directory.default-directory
0780 29 22 0a 0a 25 2e 65 6c 2e 68 74 6d 6c 3a 20 25 2e 65 6c 0a 09 40 24 28 45 4d 41 43 53 29 20 2d )"..%.el.html:.%.el..@$(EMACS).-
07a0 51 20 24 28 45 4d 41 43 53 5f 41 52 47 53 29 20 24 28 4c 4f 41 44 5f 50 41 54 48 29 20 5c 0a 09 Q.$(EMACS_ARGS).$(LOAD_PATH).\..
07c0 2d 6c 20 68 74 6d 6c 69 7a 65 20 2d 2d 65 76 61 6c 20 22 28 70 72 6f 67 6e 20 28 68 74 6d 6c 69 -l.htmlize.--eval."(progn.(htmli
07e0 7a 65 2d 66 69 6c 65 20 5c 22 24 3c 5c 22 29 20 28 6b 69 6c 6c 2d 65 6d 61 63 73 29 29 22 0a 0a ze-file.\"$<\").(kill-emacs))"..
0800 68 74 6d 6c 69 7a 65 3a 20 24 28 48 54 4d 4c 29 0a 0a 43 4c 45 41 4e 20 20 3d 20 24 28 45 4c 43 htmlize:.$(HTML)..CLEAN..=.$(ELC
0820 53 29 20 24 28 50 4b 47 29 2d 61 75 74 6f 6c 6f 61 64 73 2e 65 6c 0a 0a 63 6c 65 61 6e 3a 0a 09 S).$(PKG)-autoloads.el..clean:..
0840 40 70 72 69 6e 74 66 20 22 20 43 6c 65 61 6e 69 6e 67 2e 2e 2e 5c 6e 22 0a 09 40 72 6d 20 2d 72 @printf.".Cleaning...\n"..@rm.-r
0860 66 20 24 28 43 4c 45 41 4e 29 0a 0a 24 28 50 4b 47 29 2d 61 75 74 6f 6c 6f 61 64 73 2e 65 6c 3a f.$(CLEAN)..$(PKG)-autoloads.el:
0880 20 24 28 45 4c 53 29 0a 09 40 70 72 69 6e 74 66 20 22 20 43 72 65 61 74 69 6e 67 20 24 40 5c 6e .$(ELS)..@printf.".Creating.$@\n
08a0 22 0a 09 40 24 28 45 4d 41 43 53 29 20 2d 51 20 2d 2d 62 61 74 63 68 20 2d 6c 20 61 75 74 6f 6c "..@$(EMACS).-Q.--batch.-l.autol
08c0 6f 61 64 20 2d 6c 20 63 6c 2d 6c 69 62 20 2d 2d 65 76 61 6c 20 22 5c 0a 28 6c 65 74 20 28 28 66 oad.-l.cl-lib.--eval."\.(let.((f
08e0 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 5c 22 24 40 5c 22 29 29 5c 0a ile.(expand-file-name.\"$@\"))\.
0900 20 20 20 20 20 20 28 61 75 74 6f 6c 6f 61 64 2d 74 69 6d 65 73 74 61 6d 70 73 20 6e 69 6c 29 20 ......(autoload-timestamps.nil).
0920 5c 0a 20 20 20 20 20 20 28 62 61 63 6b 75 70 2d 69 6e 68 69 62 69 74 65 64 20 74 29 5c 0a 20 20 \.......(backup-inhibited.t)\...
0940 20 20 20 20 28 76 65 72 73 69 6f 6e 2d 63 6f 6e 74 72 6f 6c 20 27 6e 65 76 65 72 29 5c 0a 20 20 ....(version-control.'never)\...
0960 20 20 20 20 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 ....(coding-system-for-write.'ut
0980 66 2d 38 2d 65 6d 61 63 73 2d 75 6e 69 78 29 29 5c 0a 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f f-8-emacs-unix))\...(write-regio
09a0 6e 20 28 61 75 74 6f 6c 6f 61 64 2d 72 75 62 72 69 63 20 66 69 6c 65 20 5c 22 70 61 63 6b 61 67 n.(autoload-rubric.file.\"packag
09c0 65 5c 22 20 6e 69 6c 29 20 6e 69 6c 20 66 69 6c 65 20 6e 69 6c 20 27 73 69 6c 65 6e 74 29 5c 0a e\".nil).nil.file.nil.'silent)\.
09e0 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 70 ..(cl-letf.(((symbol-function.'p
0a00 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 2d 64 6f 2d 75 70 64 61 74 65 29 20 28 6c 61 6d rogress-reporter-do-update).(lam
0a20 62 64 61 20 28 26 72 65 73 74 20 5f 29 29 29 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 bda.(&rest._)))\.............((s
0a40 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 ymbol-function.'progress-reporte
0a60 72 2d 64 6f 6e 65 29 20 28 6c 61 6d 62 64 61 20 28 5f 29 29 29 29 5c 0a 20 20 20 20 28 6c 65 74 r-done).(lambda.(_))))\.....(let
0a80 20 28 28 67 65 6e 65 72 61 74 65 64 2d 61 75 74 6f 6c 6f 61 64 2d 66 69 6c 65 20 66 69 6c 65 29 .((generated-autoload-file.file)
0aa0 29 5c 0a 20 20 20 20 20 20 28 75 70 64 61 74 65 2d 64 69 72 65 63 74 6f 72 79 2d 61 75 74 6f 6c )\.......(update-directory-autol
0ac0 6f 61 64 73 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 29 22 20 5c 0a 09 32 oads.default-directory))))".\..2
0ae0 3e 26 31 20 7c 20 73 65 64 20 22 2f 5e 50 61 63 6b 61 67 65 20 61 75 74 6f 6c 6f 61 64 20 69 73 >&1.|.sed."/^Package.autoload.is
0b00 20 64 65 70 72 65 63 61 74 65 64 24 24 2f 64 22 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .deprecated$$/d"................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.59/LICENSE............
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 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
0c80 30 31 30 34 35 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 35 37 36 00 20 30 00 00 00 0104515.00000000000.012576..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 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...................
0d20 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...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
0e20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
0e40 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a 0a 20 ......Version.3,.29.June.2007...
0e60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 Copyright.(C).2007.Free.Software
0e80 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f .Foundation,.Inc..<https://fsf.o
0ea0 72 67 2f 3e 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 rg/>..Everyone.is.permitted.to.c
0ec0 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 opy.and.distribute.verbatim.copi
0ee0 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 es..of.this.license.document,.bu
0f00 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 t.changing.it.is.not.allowed....
0f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 61 6d ...........................Pream
0f40 62 6c 65 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ble....The.GNU.General.Public.Li
0f60 63 65 6e 73 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 cense.is.a.free,.copyleft.licens
0f80 65 20 66 6f 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f e.for.software.and.other.kinds.o
0fa0 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 f.works.....The.licenses.for.mos
0fc0 74 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 t.software.and.other.practical.w
0fe0 6f 72 6b 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 orks.are.designed.to.take.away.y
1000 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 our.freedom.to.share.and.change.
1020 74 68 65 20 77 6f 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 the.works...By.contrast,.the.GNU
1040 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e .General.Public.License.is.inten
1060 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f ded.to.guarantee.your.freedom.to
1080 0a 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f .share.and.change.all.versions.o
10a0 66 20 61 20 70 72 6f 67 72 61 6d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d f.a.program--to.make.sure.it.rem
10c0 61 69 6e 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 ains.free.software.for.all.its.u
10e0 73 65 72 73 2e 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 sers...We,.the.Free.Software.Fou
1100 6e 64 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ndation,.use.the.GNU.General.Pub
1120 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 lic.License.for.most.of.our.soft
1140 77 61 72 65 3b 20 69 74 20 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 ware;.it.applies.also.to.any.oth
1160 65 72 20 77 6f 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 er.work.released.this.way.by.its
1180 20 61 75 74 68 6f 72 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 .authors...You.can.apply.it.to.y
11a0 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 our.programs,.too.....When.we.sp
11c0 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 eak.of.free.software,.we.are.ref
11e0 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f erring.to.freedom,.not.price...O
1200 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 ur.General.Public.Licenses.are.d
1220 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 esigned.to.make.sure.that.you.ha
1240 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 ve.the.freedom.to.distribute.cop
1260 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 ies.of.free.software.(and.charge
1280 20 66 6f 72 0a 74 68 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 .for.them.if.you.wish),.that.you
12a0 20 72 65 63 65 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 .receive.source.code.or.can.get.
12c0 69 74 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 it.if.you.want.it,.that.you.can.
12e0 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 change.the.software.or.use.piece
1300 73 20 6f 66 20 69 74 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e s.of.it.in.new.free.programs,.an
1320 64 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 d.that.you.know.you.can.do.these
1340 20 74 68 69 6e 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 .things.....To.protect.your.righ
1360 74 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 ts,.we.need.to.prevent.others.fr
1380 6f 6d 20 64 65 6e 79 69 6e 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 om.denying.you.these.rights.or.a
13a0 73 6b 69 6e 67 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 sking.you.to.surrender.the.right
13c0 73 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 s...Therefore,.you.have.certain.
13e0 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 responsibilities.if.you.distribu
1400 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 te.copies.of.the.software,.or.if
1420 0a 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 .you.modify.it:.responsibilities
1440 20 74 6f 20 72 65 73 70 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 .to.respect.the.freedom.of.other
1460 73 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 s.....For.example,.if.you.distri
1480 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 bute.copies.of.such.a.program,.w
14a0 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 hether.gratis.or.for.a.fee,.you.
14c0 6d 75 73 74 20 70 61 73 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 must.pass.on.to.the.recipients.t
14e0 68 65 20 73 61 6d 65 0a 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 he.same.freedoms.that.you.receiv
1500 65 64 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 ed...You.must.make.sure.that.the
1520 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 y,.too,.receive.or.can.get.the.s
1540 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 ource.code...And.you.must.show.t
1560 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 hem.these.terms.so.they.know.the
1580 69 72 20 72 69 67 68 74 73 2e 0a 0a 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 ir.rights.....Developers.that.us
15a0 65 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 e.the.GNU.GPL.protect.your.right
15c0 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 s.with.two.steps:.(1).assert.cop
15e0 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 yright.on.the.software,.and.(2).
1600 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f offer.you.this.License.giving.yo
1620 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 u.legal.permission.to.copy,.dist
1640 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 ribute.and/or.modify.it.....For.
1660 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f the.developers'.and.authors'.pro
1680 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e tection,.the.GPL.clearly.explain
16a0 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
16c0 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 this.free.software...For.both.us
16e0 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 ers'.and.authors'.sake,.the.GPL.
1700 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 requires.that.modified.versions.
1720 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 be.marked.as.changed,.so.that.th
1740 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 eir.problems.will.not.be.attribu
1760 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 ted.erroneously.to.authors.of.pr
1780 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 53 6f 6d 65 20 64 65 76 69 63 65 73 evious.versions.....Some.devices
17a0 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 .are.designed.to.deny.users.acce
17c0 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 ss.to.install.or.run.modified.ve
17e0 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 rsions.of.the.software.inside.th
1800 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 0a 63 61 em,.although.the.manufacturer.ca
1820 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 n.do.so...This.is.fundamentally.
1840 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a 70 72 6f incompatible.with.the.aim.of.pro
1860 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 tecting.users'.freedom.to.change
1880 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 74 69 63 0a 70 .the.software...The.systematic.p
18a0 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 attern.of.such.abuse.occurs.in.t
18c0 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 he.area.of.products.for.individu
18e0 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 als.to.use,.which.is.precisely.w
1900 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 20 20 54 here.it.is.most.unacceptable...T
1920 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 herefore,.we.have.designed.this.
1940 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 version.of.the.GPL.to.prohibit.t
1960 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 63 74 73 2e 20 he.practice.for.those.products..
1980 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 .If.such.problems.arise.substant
19a0 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a 73 74 61 6e 64 ially.in.other.domains,.we.stand
19c0 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 .ready.to.extend.this.provision.
19e0 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 to.those.domains.in.future.versi
1a00 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f ons.of.the.GPL,.as.needed.to.pro
1a20 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a 0a 20 20 46 69 tect.the.freedom.of.users.....Fi
1a40 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e nally,.every.program.is.threaten
1a60 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 70 61 74 65 6e 74 ed.constantly.by.software.patent
1a80 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 61 74 65 6e s..States.should.not.allow.paten
1aa0 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 75 ts.to.restrict.development.and.u
1ac0 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 se.of.software.on.general-purpos
1ae0 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 74 68 61 74 20 64 e.computers,.but.in.those.that.d
1b00 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 65 63 69 61 6c 20 o,.we.wish.to.avoid.the.special.
1b20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 danger.that.patents.applied.to.a
1b40 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 74 20 65 66 66 65 .free.program.could.make.it.effe
1b60 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 ctively.proprietary...To.prevent
1b80 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 74 0a 70 61 74 65 .this,.the.GPL.assures.that.pate
1ba0 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 nts.cannot.be.used.to.render.the
1bc0 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 73 .program.non-free.....The.precis
1be0 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 e.terms.and.conditions.for.copyi
1c00 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f ng,.distribution.and.modificatio
1c20 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.follow........................
1c40 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 30 2e 20 44 65 66 ..TERMS.AND.CONDITIONS....0..Def
1c60 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 22 54 68 69 73 20 4c 69 63 65 6e 73 65 22 20 72 65 66 65 initions....."This.License".refe
1c80 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rs.to.version.3.of.the.GNU.Gener
1ca0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 22 43 6f 70 79 72 69 67 68 74 al.Public.License....."Copyright
1cc0 22 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 ".also.means.copyright-like.laws
1ce0 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 0a 77 6f .that.apply.to.other.kinds.of.wo
1d00 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 73 6b 73 rks,.such.as.semiconductor.masks
1d20 2e 0a 0a 20 20 22 54 68 65 20 50 72 6f 67 72 61 6d 22 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 ....."The.Program".refers.to.any
1d40 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 .copyrightable.work.licensed.und
1d60 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 er.this.License...Each.licensee.
1d80 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 20 20 22 4c 69 63 65 6e 73 65 is.addressed.as."you"..."License
1da0 65 73 22 20 61 6e 64 0a 22 72 65 63 69 70 69 65 6e 74 73 22 20 6d 61 79 20 62 65 20 69 6e 64 69 es".and."recipients".may.be.indi
1dc0 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 54 6f 20 viduals.or.organizations.....To.
1de0 22 6d 6f 64 69 66 79 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 "modify".a.work.means.to.copy.fr
1e00 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 om.or.adapt.all.or.part.of.the.w
1e20 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 ork.in.a.fashion.requiring.copyr
1e40 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 ight.permission,.other.than.the.
1e60 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 0a 65 78 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 making.of.an.exact.copy...The.re
1e80 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 6d 6f 64 69 66 69 sulting.work.is.called.a."modifi
1ea0 65 64 20 76 65 72 73 69 6f 6e 22 20 6f 66 20 74 68 65 0a 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 ed.version".of.the.earlier.work.
1ec0 6f 72 20 61 20 77 6f 72 6b 20 22 62 61 73 65 64 20 6f 6e 22 20 74 68 65 20 65 61 72 6c 69 65 72 or.a.work."based.on".the.earlier
1ee0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 63 6f 76 65 72 65 64 20 77 6f 72 6b 22 20 6d 65 61 6e 73 .work.....A."covered.work".means
1f00 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f .either.the.unmodified.Program.o
1f20 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a r.a.work.based.on.the.Program...
1f40 20 20 54 6f 20 22 70 72 6f 70 61 67 61 74 65 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f ..To."propagate".a.work.means.to
1f60 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f .do.anything.with.it.that,.witho
1f80 75 74 0a 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 ut.permission,.would.make.you.di
1fa0 72 65 63 74 6c 79 20 6f 72 20 73 65 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 rectly.or.secondarily.liable.for
1fc0 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 .infringement.under.applicable.c
1fe0 6f 70 79 72 69 67 68 74 20 6c 61 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 opyright.law,.except.executing.i
2000 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 t.on.a.computer.or.modifying.a.p
2020 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 rivate.copy...Propagation.includ
2040 65 73 20 63 6f 70 79 69 6e 67 2c 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f es.copying,.distribution.(with.o
2060 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 r.without.modification),.making.
2080 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 available.to.the.public,.and.in.
20a0 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 some.countries.other.activities.
20c0 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 54 6f 20 22 63 6f 6e 76 65 79 22 20 61 20 77 6f 72 6b 20 6d as.well.....To."convey".a.work.m
20e0 65 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 eans.any.kind.of.propagation.tha
2100 74 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 t.enables.other.parties.to.make.
2120 6f 72 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 or.receive.copies...Mere.interac
2140 74 69 6f 6e 20 77 69 74 68 20 61 20 75 73 65 72 20 74 68 72 6f 75 67 68 0a 61 20 63 6f 6d 70 75 tion.with.a.user.through.a.compu
2160 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 ter.network,.with.no.transfer.of
2180 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 41 6e .a.copy,.is.not.conveying.....An
21a0 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 .interactive.user.interface.disp
21c0 6c 61 79 73 20 22 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 22 lays."Appropriate.Legal.Notices"
21e0 0a 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 .to.the.extent.that.it.includes.
2200 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 a.convenient.and.prominently.vis
2220 69 62 6c 65 0a 66 65 61 74 75 72 65 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 ible.feature.that.(1).displays.a
2240 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 n.appropriate.copyright.notice,.
2260 61 6e 64 20 28 32 29 0a 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 and.(2).tells.the.user.that.ther
2280 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 e.is.no.warranty.for.the.work.(e
22a0 78 63 65 70 74 20 74 6f 20 74 68 65 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 xcept.to.the.extent.that.warrant
22c0 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 ies.are.provided),.that.licensee
22e0 73 20 6d 61 79 20 63 6f 6e 76 65 79 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 s.may.convey.the.work.under.this
2300 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 .License,.and.how.to.view.a.copy
2320 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 .of.this.License...If.the.interf
2340 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d ace.presents.a.list.of.user.comm
2360 61 6e 64 73 20 6f 72 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c ands.or.options,.such.as.a.menu,
2380 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 .a.prominent.item.in.the.list.me
23a0 65 74 73 20 74 68 69 73 20 63 72 69 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 ets.this.criterion.....1..Source
23c0 20 43 6f 64 65 2e 0a 0a 20 20 54 68 65 20 22 73 6f 75 72 63 65 20 63 6f 64 65 22 20 66 6f 72 20 .Code.....The."source.code".for.
23e0 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 a.work.means.the.preferred.form.
2400 6f 66 20 74 68 65 20 77 6f 72 6b 0a 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 of.the.work.for.making.modificat
2420 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 22 4f 62 6a 65 63 74 20 63 6f 64 65 22 20 6d 65 61 6e 73 ions.to.it..."Object.code".means
2440 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 6b 2e 0a .any.non-source.form.of.a.work..
2460 0a 20 20 41 20 22 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 22 20 6d 65 61 6e 73 20 ...A."Standard.Interface".means.
2480 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f an.interface.that.either.is.an.o
24a0 66 66 69 63 69 61 6c 0a 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 fficial.standard.defined.by.a.re
24c0 63 6f 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 cognized.standards.body,.or,.in.
24e0 74 68 65 20 63 61 73 65 20 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 the.case.of.interfaces.specified
2500 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 .for.a.particular.programming.la
2520 6e 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 nguage,.one.that.is.widely.used.
2540 61 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 among.developers.working.in.that
2560 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 54 68 65 20 22 53 79 73 74 65 6d 20 4c 69 62 72 61 72 .language.....The."System.Librar
2580 69 65 73 22 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 ies".of.an.executable.work.inclu
25a0 64 65 20 61 6e 79 74 68 69 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b de.anything,.other.than.the.work
25c0 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 .as.a.whole,.that.(a).is.include
25e0 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e d.in.the.normal.form.of.packagin
2600 67 20 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 g.a.Major.Component,.but.which.i
2620 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 s.not.part.of.that.Major.Compone
2640 6e 74 2c 20 61 6e 64 20 28 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c nt,.and.(b).serves.only.to.enabl
2660 65 20 75 73 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f e.use.of.the.work.with.that.Majo
2680 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 r.Component,.or.to.implement.a.S
26a0 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 tandard.Interface.for.which.an.i
26c0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 mplementation.is.available.to.th
26e0 65 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 e.public.in.source.code.form...A
2700 0a 22 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 22 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 ."Major.Component",.in.this.cont
2720 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d ext,.means.a.major.essential.com
2740 70 6f 6e 65 6e 74 0a 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 ponent.(kernel,.window.system,.a
2760 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 nd.so.on).of.the.specific.operat
2780 69 6e 67 20 73 79 73 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 ing.system.(if.any).on.which.the
27a0 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 .executable.work.runs,.or.a.comp
27c0 69 6c 65 72 20 75 73 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f iler.used.to.produce.the.work,.o
27e0 72 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 r.an.object.code.interpreter.use
2800 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 54 68 65 20 22 43 6f 72 72 65 73 70 6f 6e 64 69 d.to.run.it.....The."Correspondi
2820 6e 67 20 53 6f 75 72 63 65 22 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 ng.Source".for.a.work.in.object.
2840 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 code.form.means.all.the.source.c
2860 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c ode.needed.to.generate,.install,
2880 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 .and.(for.an.executable.work).ru
28a0 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 n.the.object.code.and.to.modify.
28c0 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 the.work,.including.scripts.to.c
28e0 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 ontrol.those.activities...Howeve
2900 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 r,.it.does.not.include.the.work'
2920 73 0a 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 s.System.Libraries,.or.general-p
2940 75 72 70 6f 73 65 20 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 urpose.tools.or.generally.availa
2960 62 6c 65 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 ble.free.programs.which.are.used
2980 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 .unmodified.in.performing.those.
29a0 61 63 74 69 76 69 74 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 activities.but.which.are.not.par
29c0 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 t.of.the.work...For.example,.Cor
29e0 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 responding.Source.includes.inter
2a00 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 face.definition.files.associated
2a20 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c .with.source.files.for.the.work,
2a40 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 .and.the.source.code.for.shared.
2a60 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 libraries.and.dynamically.linked
2a80 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 .subprograms.that.the.work.is.sp
2aa0 65 63 69 66 69 63 61 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a ecifically.designed.to.require,.
2ac0 73 75 63 68 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 such.as.by.intimate.data.communi
2ae0 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 cation.or.control.flow.between.t
2b00 68 6f 73 65 0a 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 hose.subprograms.and.other.parts
2b20 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .of.the.work.....The.Correspondi
2b40 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 ng.Source.need.not.include.anyth
2b60 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 0a 63 61 6e 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 ing.that.users.can.regenerate.au
2b80 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 tomatically.from.other.parts.of.
2ba0 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 53 6f 75 72 63 65 2e 0a 0a 20 20 54 68 65 the.Corresponding.Source.....The
2bc0 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b .Corresponding.Source.for.a.work
2be0 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 73 61 6d .in.source.code.form.is.that.sam
2c00 65 20 77 6f 72 6b 2e 0a 0a 20 20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e e.work.....2..Basic.Permissions.
2c20 0a 0a 20 20 41 6c 6c 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 ....All.rights.granted.under.thi
2c40 73 20 4c 69 63 65 6e 73 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 s.License.are.granted.for.the.te
2c60 72 6d 20 6f 66 0a 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 rm.of.copyright.on.the.Program,.
2c80 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 and.are.irrevocable.provided.the
2ca0 20 73 74 61 74 65 64 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 .stated.conditions.are.met...Thi
2cc0 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 s.License.explicitly.affirms.you
2ce0 72 20 75 6e 6c 69 6d 69 74 65 64 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 r.unlimited.permission.to.run.th
2d00 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 e.unmodified.Program...The.outpu
2d20 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 t.from.running.a.covered.work.is
2d40 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 .covered.by.this.License.only.if
2d60 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 .the.output,.given.its.content,.
2d80 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 constitutes.a.covered.work...Thi
2da0 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 s.License.acknowledges.your.righ
2dc0 74 73 20 6f 66 20 66 61 69 72 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 ts.of.fair.use.or.other.equivale
2de0 6e 74 2c 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 nt,.as.provided.by.copyright.law
2e00 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 .....You.may.make,.run.and.propa
2e20 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e gate.covered.works.that.you.do.n
2e40 6f 74 0a 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f ot.convey,.without.conditions.so
2e60 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 .long.as.your.license.otherwise.
2e80 72 65 6d 61 69 6e 73 0a 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 remains.in.force...You.may.conve
2ea0 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 y.covered.works.to.others.for.th
2ec0 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 0a 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 e.sole.purpose.of.having.them.ma
2ee0 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 ke.modifications.exclusively.for
2f00 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 65 20 79 6f 75 0a 77 69 74 68 20 66 61 63 69 6c 69 .you,.or.provide.you.with.facili
2f20 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 ties.for.running.those.works,.pr
2f40 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 0a 74 68 65 20 ovided.that.you.comply.with.the.
2f60 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 terms.of.this.License.in.conveyi
2f80 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f ng.all.material.for.which.you.do
2fa0 0a 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 .not.control.copyright...Those.t
2fc0 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 hus.making.or.running.the.covere
2fe0 64 20 77 6f 72 6b 73 0a 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 d.works.for.you.must.do.so.exclu
3000 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 sively.on.your.behalf,.under.you
3020 72 20 64 69 72 65 63 74 69 6f 6e 0a 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d r.direction.and.control,.on.term
3040 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 s.that.prohibit.them.from.making
3060 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 0a 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 .any.copies.of.your.copyrighted.
3080 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 material.outside.their.relations
30a0 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 hip.with.you.....Conveying.under
30c0 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d .any.other.circumstances.is.perm
30e0 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e itted.solely.under.the.condition
3100 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 s.stated.below...Sublicensing.is
3120 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 .not.allowed;.section.10.makes.i
3140 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 6e 67 20 t.unnecessary.....3..Protecting.
3160 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 Users'.Legal.Rights.From.Anti-Ci
3180 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 4e 6f 20 63 6f 76 65 72 65 64 20 77 rcumvention.Law.....No.covered.w
31a0 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 ork.shall.be.deemed.part.of.an.e
31c0 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 ffective.technological.measure.u
31e0 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 nder.any.applicable.law.fulfilli
3200 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 ng.obligations.under.article.11.
3220 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 74 20 74 72 65 61 74 79 20 61 64 6f of.the.WIPO.copyright.treaty.ado
3240 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d pted.on.20.December.1996,.or.sim
3260 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 ilar.laws.prohibiting.or.restric
3280 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 ting.circumvention.of.such.measu
32a0 72 65 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 res.....When.you.convey.a.covere
32c0 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 d.work,.you.waive.any.legal.powe
32e0 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 r.to.forbid.circumvention.of.tec
3300 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 78 74 65 6e hnological.measures.to.the.exten
3320 74 20 73 75 63 68 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 0a 69 73 20 65 66 66 65 63 74 65 64 t.such.circumvention.is.effected
3340 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 .by.exercising.rights.under.this
3360 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 0a 74 68 65 20 63 6f 76 .License.with.respect.to.the.cov
3380 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 ered.work,.and.you.disclaim.any.
33a0 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 0a intention.to.limit.operation.or.
33c0 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 modification.of.the.work.as.a.me
33e0 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f ans.of.enforcing,.against.the.wo
3400 72 6b 27 73 0a 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 rk's.users,.your.or.third.partie
3420 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d s'.legal.rights.to.forbid.circum
3440 76 65 6e 74 69 6f 6e 20 6f 66 0a 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 vention.of.technological.measure
3460 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 69 s.....4..Conveying.Verbatim.Copi
3480 65 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 69 6d 20 63 es.....You.may.convey.verbatim.c
34a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 20 73 6f 75 72 63 65 20 63 6f opies.of.the.Program's.source.co
34c0 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 de.as.you.receive.it,.in.any.med
34e0 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 70 69 63 75 6f ium,.provided.that.you.conspicuo
3500 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f usly.and.appropriately.publish.o
3520 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 n.each.copy.an.appropriate.copyr
3540 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 ight.notice;.keep.intact.all.not
3560 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 ices.stating.that.this.License.a
3580 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 nd.any.non-permissive.terms.adde
35a0 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 d.in.accord.with.section.7.apply
35c0 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f .to.the.code;.keep.intact.all.no
35e0 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 tices.of.the.absence.of.any.warr
3600 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 63 69 70 69 65 6e 74 73 20 61 20 anty;.and.give.all.recipients.a.
3620 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 copy.of.this.License.along.with.
3640 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 the.Program.....You.may.charge.a
3660 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 6f ny.price.or.no.price.for.each.co
3680 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 20 79 6f 75 20 6d 61 79 20 py.that.you.convey,.and.you.may.
36a0 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 offer.support.or.warranty.protec
36c0 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 65 79 69 6e 67 20 tion.for.a.fee.....5..Conveying.
36e0 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 59 6f 75 Modified.Source.Versions.....You
3700 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 .may.convey.a.work.based.on.the.
3720 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f Program,.or.the.modifications.to
3740 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e .produce.it.from.the.Program,.in
3760 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 .the.form.of.source.code.under.t
3780 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 he.terms.of.section.4,.provided.
37a0 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 that.you.also.meet.all.of.these.
37c0 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 conditions:......a).The.work.mus
37e0 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e t.carry.prominent.notices.statin
3800 67 20 74 68 61 74 20 79 6f 75 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 69 74 2c 20 61 6e 64 20 g.that.you.modified.....it,.and.
3820 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 62 29 20 giving.a.relevant.date.......b).
3840 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f The.work.must.carry.prominent.no
3860 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 72 65 6c tices.stating.that.it.is.....rel
3880 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 eased.under.this.License.and.any
38a0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 0a .conditions.added.under.section.
38c0 20 20 20 20 37 2e 20 20 54 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 ....7...This.requirement.modifie
38e0 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 74 s.the.requirement.in.section.4.t
3900 6f 0a 20 20 20 20 22 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 22 2e o....."keep.intact.all.notices".
3920 0a 0a 20 20 20 20 63 29 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e ......c).You.must.license.the.en
3940 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 74 68 69 tire.work,.as.a.whole,.under.thi
3960 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 s.....License.to.anyone.who.come
3980 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
39a0 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 is.....License.will.therefore.ap
39c0 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 ply,.along.with.any.applicable.s
39e0 65 63 74 69 6f 6e 20 37 0a 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 ection.7.....additional.terms,.t
3a00 6f 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c o.the.whole.of.the.work,.and.all
3a20 20 69 74 73 20 70 61 72 74 73 2c 0a 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f .its.parts,.....regardless.of.ho
3a40 77 20 74 68 65 79 20 61 72 65 20 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e w.they.are.packaged...This.Licen
3a60 73 65 20 67 69 76 65 73 20 6e 6f 0a 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 se.gives.no.....permission.to.li
3a80 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c cense.the.work.in.any.other.way,
3aa0 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 69 6e 76 61 6c 69 64 61 74 65 20 .but.it.does.not.....invalidate.
3ac0 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 61 such.permission.if.you.have.sepa
3ae0 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a 20 20 20 20 64 29 20 49 66 20 74 rately.received.it.......d).If.t
3b00 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 he.work.has.interactive.user.int
3b20 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 73 70 6c 61 79 0a 20 20 20 20 41 erfaces,.each.must.display.....A
3b40 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 ppropriate.Legal.Notices;.howeve
3b60 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 r,.if.the.Program.has.interactiv
3b80 65 0a 20 20 20 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 e.....interfaces.that.do.not.dis
3ba0 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 2c 20 play.Appropriate.Legal.Notices,.
3bc0 79 6f 75 72 0a 20 20 20 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d your.....work.need.not.make.them
3be0 20 64 6f 20 73 6f 2e 0a 0a 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f .do.so.....A.compilation.of.a.co
3c00 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 20 61 vered.work.with.other.separate.a
3c20 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 nd.independent.works,.which.are.
3c40 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f not.by.their.nature.extensions.o
3c60 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 61 6e 64 20 77 68 69 63 68 20 61 72 f.the.covered.work,.and.which.ar
3c80 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 69 74 20 73 75 63 68 20 61 73 20 74 e.not.combined.with.it.such.as.t
3ca0 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f o.form.a.larger.program,.in.or.o
3cc0 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 n.a.volume.of.a.storage.or.distr
3ce0 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 0a 22 61 67 ibution.medium,.is.called.an."ag
3d00 67 72 65 67 61 74 65 22 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 gregate".if.the.compilation.and.
3d20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a its.resulting.copyright.are.not.
3d40 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 used.to.limit.the.access.or.lega
3d60 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 l.rights.of.the.compilation's.us
3d80 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 ers.beyond.what.the.individual.w
3da0 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 orks.permit...Inclusion.of.a.cov
3dc0 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e ered.work.in.an.aggregate.does.n
3de0 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 ot.cause.this.License.to.apply.t
3e00 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 o.the.other.parts.of.the.aggrega
3e20 74 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 te.....6..Conveying.Non-Source.F
3e40 6f 72 6d 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 orms.....You.may.convey.a.covere
3e60 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 d.work.in.object.code.form.under
3e80 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 .the.terms.of.sections.4.and.5,.
3ea0 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 provided.that.you.also.convey.th
3ec0 65 0a 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 e.machine-readable.Corresponding
3ee0 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 .Source.under.the.terms.of.this.
3f00 4c 69 63 65 6e 73 65 2c 0a 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a 0a 0a License,.in.one.of.these.ways:..
3f20 20 20 20 20 61 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e ....a).Convey.the.object.code.in
3f40 2c 20 6f 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f ,.or.embodied.in,.a.physical.pro
3f60 64 75 63 74 0a 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 duct.....(including.a.physical.d
3f80 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 istribution.medium),.accompanied
3fa0 20 62 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .by.the.....Corresponding.Source
3fc0 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 .fixed.on.a.durable.physical.med
3fe0 69 75 6d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 ium.....customarily.used.for.sof
4000 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 43 6f 6e 76 65 tware.interchange.......b).Conve
4020 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 y.the.object.code.in,.or.embodie
4040 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 28 69 6e d.in,.a.physical.product.....(in
4060 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 cluding.a.physical.distribution.
4080 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a 20 20 20 20 77 72 medium),.accompanied.by.a.....wr
40a0 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 itten.offer,.valid.for.at.least.
40c0 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 73 0a 20 20 20 three.years.and.valid.for.as....
40e0 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 6f .long.as.you.offer.spare.parts.o
4100 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f 64 r.customer.support.for.that.prod
4120 75 63 74 0a 20 20 20 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 uct.....model,.to.give.anyone.wh
4140 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 o.possesses.the.object.code.eith
4160 65 72 20 28 31 29 20 61 0a 20 20 20 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 er.(1).a.....copy.of.the.Corresp
4180 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 onding.Source.for.all.the.softwa
41a0 72 65 20 69 6e 20 74 68 65 0a 20 20 20 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f re.in.the.....product.that.is.co
41c0 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 vered.by.this.License,.on.a.dura
41e0 62 6c 65 20 70 68 79 73 69 63 61 6c 0a 20 20 20 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 ble.physical.....medium.customar
4200 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
4220 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 0a 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 e,.for.a.price.no.....more.than.
4240 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c your.reasonable.cost.of.physical
4260 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 0a 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 ly.performing.this.....conveying
4280 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 20 74 6f 20 63 6f 70 .of.source,.or.(2).access.to.cop
42a0 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 y.the.....Corresponding.Source.f
42c0 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 20 63 68 61 72 67 rom.a.network.server.at.no.charg
42e0 65 2e 0a 0a 20 20 20 20 63 29 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 e.......c).Convey.individual.cop
4300 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 20 63 6f ies.of.the.object.code.with.a.co
4320 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 py.of.the.....written.offer.to.p
4340 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e rovide.the.Corresponding.Source.
4360 20 20 54 68 69 73 0a 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 ..This.....alternative.is.allowe
4380 64 20 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 d.only.occasionally.and.noncomme
43a0 72 63 69 61 6c 6c 79 2c 20 61 6e 64 0a 20 20 20 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 rcially,.and.....only.if.you.rec
43c0 65 69 76 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 eived.the.object.code.with.such.
43e0 61 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 0a 20 20 20 20 77 69 74 68 20 73 75 62 an.offer,.in.accord.....with.sub
4400 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 64 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f section.6b.......d).Convey.the.o
4420 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 bject.code.by.offering.access.fr
4440 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 70 6c 61 63 65 20 28 67 72 61 74 69 om.a.designated.....place.(grati
4460 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 s.or.for.a.charge),.and.offer.eq
4480 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 uivalent.access.to.the.....Corre
44a0 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 sponding.Source.in.the.same.way.
44c0 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 61 74 20 6e 6f 0a 20 20 20 through.the.same.place.at.no....
44e0 20 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 .further.charge...You.need.not.r
4500 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 equire.recipients.to.copy.the...
4520 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 ..Corresponding.Source.along.wit
4540 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 h.the.object.code...If.the.place
4560 20 74 6f 0a 20 20 20 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 .to.....copy.the.object.code.is.
4580 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 a.network.server,.the.Correspond
45a0 69 6e 67 20 53 6f 75 72 63 65 0a 20 20 20 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 65 ing.Source.....may.be.on.a.diffe
45c0 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 rent.server.(operated.by.you.or.
45e0 61 20 74 68 69 72 64 20 70 61 72 74 79 29 0a 20 20 20 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 a.third.party).....that.supports
4600 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 .equivalent.copying.facilities,.
4620 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 69 6e 74 61 69 6e 0a 20 20 20 20 63 6c 65 61 72 20 provided.you.maintain.....clear.
4640 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f directions.next.to.the.object.co
4660 64 65 20 73 61 79 69 6e 67 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 de.saying.where.to.find.the.....
4680 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 52 65 67 61 72 64 6c 65 73 Corresponding.Source...Regardles
46a0 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 0a 20 20 20 20 43 s.of.what.server.hosts.the.....C
46c0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 20 72 65 6d 61 69 6e 20 orresponding.Source,.you.remain.
46e0 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 0a 20 obligated.to.ensure.that.it.is..
4700 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 65 65 64 ...available.for.as.long.as.need
4720 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ed.to.satisfy.these.requirements
4740 2e 0a 0a 20 20 20 20 65 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 .......e).Convey.the.object.code
4760 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e .using.peer-to-peer.transmission
4780 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 ,.provided.....you.inform.other.
47a0 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 peers.where.the.object.code.and.
47c0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 Corresponding.....Source.of.the.
47e0 77 6f 72 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 work.are.being.offered.to.the.ge
4800 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 0a 20 20 20 20 63 68 61 72 67 65 20 75 6e neral.public.at.no.....charge.un
4820 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 41 20 73 65 70 61 72 61 62 6c der.subsection.6d.....A.separabl
4840 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 e.portion.of.the.object.code,.wh
4860 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 65 64 0a 66 72 6f 6d ose.source.code.is.excluded.from
4880 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 73 20 61 20 53 .the.Corresponding.Source.as.a.S
48a0 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 69 6e 63 6c 75 ystem.Library,.need.not.be.inclu
48c0 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 ded.in.conveying.the.object.code
48e0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 55 73 65 72 20 50 72 6f 64 75 63 74 22 20 69 73 20 65 69 .work.....A."User.Product".is.ei
4900 74 68 65 72 20 28 31 29 20 61 20 22 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 22 2c 20 77 ther.(1).a."consumer.product",.w
4920 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c hich.means.any.tangible.personal
4940 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 .property.which.is.normally.used
4960 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 20 66 61 6d 69 6c 79 2c 0a 6f 72 20 68 6f 75 73 65 68 .for.personal,.family,.or.househ
4980 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 old.purposes,.or.(2).anything.de
49a0 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 20 69 6e 63 6f 72 70 6f 72 61 74 69 6f 6e signed.or.sold.for.incorporation
49c0 0a 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d 69 6e 69 6e .into.a.dwelling...In.determinin
49e0 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 6d 65 g.whether.a.product.is.a.consume
4a00 72 20 70 72 6f 64 75 63 74 2c 0a 64 6f 75 62 74 66 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 r.product,.doubtful.cases.shall.
4a20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 63 6f 76 65 72 61 67 65 be.resolved.in.favor.of.coverage
4a40 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 0a 70 72 6f 64 75 63 74 20 72 65 63 65 ...For.a.particular.product.rece
4a60 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 20 22 6e 6f 72 6d ived.by.a.particular.user,."norm
4a80 61 6c 6c 79 20 75 73 65 64 22 20 72 65 66 65 72 73 20 74 6f 20 61 0a 74 79 70 69 63 61 6c 20 6f ally.used".refers.to.a.typical.o
4aa0 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 20 70 72 r.common.use.of.that.class.of.pr
4ac0 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 73 0a oduct,.regardless.of.the.status.
4ae0 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 68 65 of.the.particular.user.or.of.the
4b00 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 .way.in.which.the.particular.use
4b20 72 0a 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 69 r.actually.uses,.or.expects.or.i
4b40 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f 64 75 63 74 2e 20 s.expected.to.use,.the.product..
4b60 20 41 20 70 72 6f 64 75 63 74 0a 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 .A.product.is.a.consumer.product
4b80 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 64 75 .regardless.of.whether.the.produ
4ba0 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 69 ct.has.substantial.commercial,.i
4bc0 6e 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 ndustrial.or.non-consumer.uses,.
4be0 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 65 73 65 6e 74 0a 74 68 65 20 6f unless.such.uses.represent.the.o
4c00 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 nly.significant.mode.of.use.of.t
4c20 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 20 20 22 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 he.product....."Installation.Inf
4c40 6f 72 6d 61 74 69 6f 6e 22 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 ormation".for.a.User.Product.mea
4c60 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 68 ns.any.methods,.procedures,.auth
4c80 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 orization.keys,.or.other.informa
4ca0 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 61 6e 64 20 65 78 65 tion.required.to.install.and.exe
4cc0 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 63 6f 76 65 cute.modified.versions.of.a.cove
4ce0 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 red.work.in.that.User.Product.fr
4d00 6f 6d 0a 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 20 43 6f 72 om.a.modified.version.of.its.Cor
4d20 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 responding.Source...The.informat
4d40 69 6f 6e 20 6d 75 73 74 0a 73 75 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ion.must.suffice.to.ensure.that.
4d60 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 the.continued.functioning.of.the
4d80 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 0a 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 .modified.object.code.is.in.no.c
4da0 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 ase.prevented.or.interfered.with
4dc0 20 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 .solely.because.modification.has
4de0 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 .been.made.....If.you.convey.an.
4e00 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 object.code.work.under.this.sect
4e20 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 ion.in,.or.with,.or.specifically
4e40 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e 64 .for.use.in,.a.User.Product,.and
4e60 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 73 0a 70 61 72 74 20 6f 66 .the.conveying.occurs.as.part.of
4e80 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 72 69 67 68 .a.transaction.in.which.the.righ
4ea0 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 0a 55 t.of.possession.and.use.of.the.U
4ec0 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 ser.Product.is.transferred.to.th
4ee0 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 e.recipient.in.perpetuity.or.for
4f00 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 .a.fixed.term.(regardless.of.how
4f20 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 .the.transaction.is.characterize
4f40 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e d),.the.Corresponding.Source.con
4f60 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 veyed.under.this.section.must.be
4f80 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .accompanied.by.the.Installation
4fa0 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 20 72 65 71 75 69 72 65 6d .Information...But.this.requirem
4fc0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e 65 69 74 68 65 72 20 79 6f ent.does.not.apply.if.neither.yo
4fe0 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 65 74 61 69 6e 73 20 74 68 u.nor.any.third.party.retains.th
5000 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f 64 69 66 69 65 64 20 6f 62 e.ability.to.install.modified.ob
5020 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 28 66 ject.code.on.the.User.Product.(f
5040 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 73 0a 62 65 65 6e 20 69 6e or.example,.the.work.has.been.in
5060 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 54 68 65 20 72 65 71 75 69 72 65 6d stalled.in.ROM).....The.requirem
5080 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f ent.to.provide.Installation.Info
50a0 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 0a 72 65 71 75 69 rmation.does.not.include.a.requi
50c0 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 rement.to.continue.to.provide.su
50e0 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 pport.service,.warranty,.or.upda
5100 74 65 73 0a 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 tes.for.a.work.that.has.been.mod
5120 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 20 72 65 63 69 70 69 ified.or.installed.by.the.recipi
5140 65 6e 74 2c 20 6f 72 20 66 6f 72 0a 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 ent,.or.for.the.User.Product.in.
5160 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e which.it.has.been.modified.or.in
5180 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 0a 6e 65 74 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
51a0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f y.be.denied.when.the.modificatio
51c0 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 0a 61 64 76 65 72 73 65 6c n.itself.materially.and.adversel
51e0 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e y.affects.the.operation.of.the.n
5200 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 6c 65 73 20 61 6e 64 etwork.or.violates.the.rules.and
5220 0a 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 .protocols.for.communication.acr
5240 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a 0a 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e oss.the.network.....Correspondin
5260 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 g.Source.conveyed,.and.Installat
5280 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 6e 20 61 63 63 ion.Information.provided,.in.acc
52a0 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e ord.with.this.section.must.be.in
52c0 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a 64 6f 63 75 6d .a.format.that.is.publicly.docum
52e0 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ented.(and.with.an.implementatio
5300 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 0a 73 6f 75 n.available.to.the.public.in.sou
5320 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 65 rce.code.form),.and.must.require
5340 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 20 66 6f 72 0a .no.special.password.or.key.for.
5360 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 6e 67 2e 0a 0a unpacking,.reading.or.copying...
5380 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 22 41 64 64 69 74 ..7..Additional.Terms....."Addit
53a0 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 22 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 ional.permissions".are.terms.tha
53c0 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c t.supplement.the.terms.of.this.L
53e0 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d icense.by.making.exceptions.from
5400 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a .one.or.more.of.its.conditions..
5420 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 Additional.permissions.that.are.
5440 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d applicable.to.the.entire.Program
5460 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 68 65 79 .shall.be.treated.as.though.they
5480 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 .were.included.in.this.License,.
54a0 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 6c 69 to.the.extent.that.they.are.vali
54c0 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 66 20 61 64 64 69 d.under.applicable.law...If.addi
54e0 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f tional.permissions.apply.only.to
5500 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 20 70 61 72 74 20 .part.of.the.Program,.that.part.
5520 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 65 72 20 74 68 6f may.be.used.separately.under.tho
5540 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e 74 69 72 65 20 50 se.permissions,.but.the.entire.P
5560 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 0a 74 68 69 73 20 rogram.remains.governed.by.this.
5580 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 20 74 68 65 20 61 64 License.without.regard.to.the.ad
55a0 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f ditional.permissions.....When.yo
55c0 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 u.convey.a.copy.of.a.covered.wor
55e0 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 6d 6f 76 65 k,.you.may.at.your.option.remove
5600 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d .any.additional.permissions.from
5620 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 20 6f 66 0a .that.copy,.or.from.any.part.of.
5640 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6d 61 79 it...(Additional.permissions.may
5660 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 6f 77 6e .be.written.to.require.their.own
5680 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 .removal.in.certain.cases.when.y
56a0 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c ou.modify.the.work.)..You.may.pl
56c0 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 ace.additional.permissions.on.ma
56e0 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f 76 65 72 65 terial,.added.by.you.to.a.covere
5700 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 d.work,.for.which.you.have.or.ca
5720 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 n.give.appropriate.copyright.per
5740 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 mission.....Notwithstanding.any.
5760 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c other.provision.of.this.License,
5780 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 .for.material.you.add.to.a.cover
57a0 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 ed.work,.you.may.(if.authorized.
57c0 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 20 6f 66 0a 74 68 61 74 by.the.copyright.holders.of.that
57e0 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 .material).supplement.the.terms.
5800 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 20 20 20 of.this.License.with.terms:.....
5820 20 61 29 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 .a).Disclaiming.warranty.or.limi
5840 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 ting.liability.differently.from.
5860 74 68 65 0a 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 the.....terms.of.sections.15.and
5880 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f 72 0a 0a 20 20 20 20 62 29 20 .16.of.this.License;.or......b).
58a0 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 Requiring.preservation.of.specif
58c0 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 73 20 6f 72 0a ied.reasonable.legal.notices.or.
58e0 20 20 20 20 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 ....author.attributions.in.that.
5900 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c material.or.in.the.Appropriate.L
5920 65 67 61 6c 0a 20 20 20 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f egal.....Notices.displayed.by.wo
5940 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 63 29 20 50 72 rks.containing.it;.or......c).Pr
5960 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
5980 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 20 he.origin.of.that.material,.or..
59a0 20 20 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 ...requiring.that.modified.versi
59c0 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 ons.of.such.material.be.marked.i
59e0 6e 0a 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 n.....reasonable.ways.as.differe
5a00 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 nt.from.the.original.version;.or
5a20 0a 0a 20 20 20 20 64 29 20 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 ......d).Limiting.the.use.for.pu
5a40 62 6c 69 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 blicity.purposes.of.names.of.lic
5a60 65 6e 73 6f 72 73 20 6f 72 0a 20 20 20 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 ensors.or.....authors.of.the.mat
5a80 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 20 20 20 65 29 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 erial;.or......e).Declining.to.g
5aa0 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 rant.rights.under.trademark.law.
5ac0 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c for.use.of.some.....trade.names,
5ae0 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f .trademarks,.or.service.marks;.o
5b00 72 0a 0a 20 20 20 20 66 29 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 r......f).Requiring.indemnificat
5b20 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 ion.of.licensors.and.authors.of.
5b40 74 68 61 74 0a 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e 65 20 77 68 6f 20 that.....material.by.anyone.who.
5b60 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d 6f 64 69 66 69 65 conveys.the.material.(or.modifie
5b80 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 d.versions.of.....it).with.contr
5ba0 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 actual.assumptions.of.liability.
5bc0 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 0a 20 20 20 20 61 6e 79 20 6c 69 to.the.recipient,.for.....any.li
5be0 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 ability.that.these.contractual.a
5c00 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 0a 20 20 ssumptions.directly.impose.on...
5c20 20 20 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a ..those.licensors.and.authors...
5c40 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 74 ..All.other.non-permissive.addit
5c60 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 66 75 72 74 ional.terms.are.considered."furt
5c80 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 22 20 77 69 74 68 69 6e 20 74 68 65 20 6d 65 61 her.restrictions".within.the.mea
5ca0 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 ning.of.section.10...If.the.Prog
5cc0 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 ram.as.you.received.it,.or.any.p
5ce0 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 art.of.it,.contains.a.notice.sta
5d00 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 ting.that.it.is.governed.by.this
5d20 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 .License.along.with.a.term.that.
5d40 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 is.a.further.restriction,.you.ma
5d60 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 y.remove.that.term...If.a.licens
5d80 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a 61 20 66 75 72 74 68 65 72 20 72 65 e.document.contains.a.further.re
5da0 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e striction.but.permits.relicensin
5dc0 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 g.or.conveying.under.this.Licens
5de0 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b e,.you.may.add.to.a.covered.work
5e00 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 73 0a .material.governed.by.the.terms.
5e20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 69 64 of.that.license.document,.provid
5e40 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 ed.that.the.further.restriction.
5e60 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c 69 63 65 6e 73 69 6e does.not.survive.such.relicensin
5e80 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 g.or.conveying.....If.you.add.te
5ea0 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 63 63 6f 72 64 20 rms.to.a.covered.work.in.accord.
5ec0 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 0a 6d 75 73 74 20 70 6c 61 63 with.this.section,.you.must.plac
5ee0 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c e,.in.the.relevant.source.files,
5f00 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 74 .a.statement.of.the.additional.t
5f20 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 erms.that.apply.to.those.files,.
5f40 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 77 68 65 72 65 20 74 6f 20 or.a.notice.indicating.where.to.
5f60 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 41 64 find.the.applicable.terms.....Ad
5f80 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 6e 6f ditional.terms,.permissive.or.no
5fa0 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e 20 74 n-permissive,.may.be.stated.in.t
5fc0 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e 20 he.form.of.a.separately.written.
5fe0 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e 73 license,.or.stated.as.exceptions
6000 3b 0a 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 65 ;.the.above.requirements.apply.e
6020 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 ither.way.....8..Termination....
6040 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 .You.may.not.propagate.or.modify
6060 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 .a.covered.work.except.as.expres
6080 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e sly.provided.under.this.License.
60a0 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 ..Any.attempt.otherwise.to.propa
60c0 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 gate.or.modify.it.is.void,.and.w
60e0 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 ill.automatically.terminate.your
6100 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c .rights.under.this.License.(incl
6120 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 uding.any.patent.licenses.grante
6140 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 d.under.the.third.paragraph.of.s
6160 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ection.11).....However,.if.you.c
6180 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ease.all.violation.of.this.Licen
61a0 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 se,.then.your.license.from.a.par
61c0 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e ticular.copyright.holder.is.rein
61e0 73 74 61 74 65 64 20 28 61 29 0a 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 stated.(a).provisionally,.unless
6200 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .and.until.the.copyright.holder.
6220 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 explicitly.and.finally.terminate
6240 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e s.your.license,.and.(b).permanen
6260 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 68 6f 6c 64 65 72 20 66 61 69 tly,.if.the.copyright.holder.fai
6280 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f ls.to.notify.you.of.the.violatio
62a0 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 0a 70 72 69 6f 72 n.by.some.reasonable.means.prior
62c0 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e .to.60.days.after.the.cessation.
62e0 0a 0a 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 ....Moreover,.your.license.from.
6300 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
6320 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
6340 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
6360 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
6380 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
63a0 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
63c0 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f tion.of.this.License.(for.any.wo
63e0 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
6400 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 and.you.cure.the.violation.prior
6420 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
6440 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 f.the.notice.....Termination.of.
6460 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 your.rights.under.this.section.d
6480 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f oes.not.terminate.the.licenses.o
64a0 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 f.parties.who.have.received.copi
64c0 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 es.or.rights.from.you.under.this
64e0 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 .License...If.your.rights.have.b
6500 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 een.terminated.and.not.permanent
6520 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 ly.reinstated,.you.do.not.qualif
6540 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 68 y.to.receive.new.licenses.for.th
6560 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 30 e.same.material.under.section.10
6580 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 64 20 .....9..Acceptance.Not.Required.
65a0 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 20 20 59 6f 75 20 61 72 65 20 6e 6f for.Having.Copies.....You.are.no
65c0 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 t.required.to.accept.this.Licens
65e0 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 72 75 6e 20 61 20 63 e.in.order.to.receive.or.run.a.c
6600 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 opy.of.the.Program...Ancillary.p
6620 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 6f 63 63 ropagation.of.a.covered.work.occ
6640 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
6660 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f f.using.peer-to-peer.transmissio
6680 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
66a0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
66c0 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
66e0 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
6700 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
6720 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
6740 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
6760 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
6780 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
67a0 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
67c0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 this.License.to.do.so.....10..Au
67e0 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
6800 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e Recipients.....Each.time.you.con
6820 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e vey.a.covered.work,.the.recipien
6840 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e t.automatically.receives.a.licen
6860 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 se.from.the.original.licensors,.
6880 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 to.run,.modify.and.propagate.tha
68a0 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e t.work,.subject.to.this.License.
68c0 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
68e0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
6900 69 65 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 41 6e 20 22 65 6e ies.with.this.License.....An."en
6920 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 22 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 tity.transaction".is.a.transacti
6940 6f 6e 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 6f 72 on.transferring.control.of.an.or
6960 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c ganization,.or.substantially.all
6980 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 .assets.of.one,.or.subdividing.a
69a0 6e 0a 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e n.organization,.or.merging.organ
69c0 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 izations...If.propagation.of.a.c
69e0 6f 76 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 overed.work.results.from.an.enti
6a00 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 ty.transaction,.each.party.to.th
6a20 61 74 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f at.transaction.who.receives.a.co
6a40 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 py.of.the.work.also.receives.wha
6a60 74 65 76 65 72 0a 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 tever.licenses.to.the.work.the.p
6a80 61 72 74 79 27 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 arty's.predecessor.in.interest.h
6aa0 61 64 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 ad.or.could.give.under.the.previ
6ac0 6f 75 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 ous.paragraph,.plus.a.right.to.p
6ae0 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ossession.of.the.Corresponding.S
6b00 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 ource.of.the.work.from.the.prede
6b20 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 cessor.in.interest,.if.the.prede
6b40 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 cessor.has.it.or.can.get.it.with
6b60 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 .reasonable.efforts.....You.may.
6b80 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 not.impose.any.further.restricti
6ba0 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 ons.on.the.exercise.of.the.right
6bc0 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 s.granted.or.affirmed.under.this
6be0 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a .License...For.example,.you.may.
6c00 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 not.impose.a.license.fee,.royalt
6c20 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 20 y,.or.other.charge.for.exercise.
6c40 6f 66 0a 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 of.rights.granted.under.this.Lic
6c60 65 6e 73 65 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c ense,.and.you.may.not.initiate.l
6c80 69 74 69 67 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 itigation.(including.a.cross-cla
6ca0 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 im.or.counterclaim.in.a.lawsuit)
6cc0 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
6ce0 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 is.infringed.by.making,.using,.s
6d00 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d elling,.offering.for.sale,.or.im
6d20 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 porting.the.Program.or.any.porti
6d40 6f 6e 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 41 20 22 on.of.it.....11..Patents.....A."
6d60 63 6f 6e 74 72 69 62 75 74 6f 72 22 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 contributor".is.a.copyright.hold
6d80 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 er.who.authorizes.use.under.this
6da0 0a 4c 69 63 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 .License.of.the.Program.or.a.wor
6dc0 6b 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e k.on.which.the.Program.is.based.
6de0 20 20 54 68 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c ..The.work.thus.licensed.is.call
6e00 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 63 6f 6e 74 72 69 62 75 74 6f ed.the.contributor's."contributo
6e20 72 20 76 65 72 73 69 6f 6e 22 2e 0a 0a 20 20 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 r.version".....A.contributor's."
6e40 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 22 20 61 72 65 20 61 6c 6c essential.patent.claims".are.all
6e60 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c .patent.claims.owned.or.controll
6e80 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 ed.by.the.contributor,.whether.a
6ea0 6c 72 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 lready.acquired.or.hereafter.acq
6ec0 75 69 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 uired,.that.would.be.infringed.b
6ee0 79 20 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 y.some.manner,.permitted.by.this
6f00 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 .License,.of.making,.using,.or.s
6f20 65 6c 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a elling.its.contributor.version,.
6f40 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 but.do.not.include.claims.that.w
6f60 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 ould.be.infringed.only.as.a.cons
6f80 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 equence.of.further.modification.
6fa0 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 of.the.contributor.version...For
6fc0 0a 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 22 63 .purposes.of.this.definition,."c
6fe0 6f 6e 74 72 6f 6c 22 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ontrol".includes.the.right.to.gr
7000 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
7020 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 er.consistent.with.the.requireme
7040 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 45 61 63 68 20 63 6f 6e nts.of.this.License.....Each.con
7060 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 tributor.grants.you.a.non-exclus
7080 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 ive,.worldwide,.royalty-free.pat
70a0 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f ent.license.under.the.contributo
70c0 72 27 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a r's.essential.patent.claims,.to.
70e0 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c make,.use,.sell,.offer.for.sale,
7100 20 69 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 .import.and.otherwise.run,.modif
7120 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 y.and.propagate.the.contents.of.
7140 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 49 6e 20 74 its.contributor.version.....In.t
7160 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 he.following.three.paragraphs,.a
7180 20 22 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 22 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 ."patent.license".is.any.express
71a0 0a 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 .agreement.or.commitment,.howeve
71c0 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 r.denominated,.not.to.enforce.a.
71e0 70 61 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 patent.(such.as.an.express.permi
7200 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f ssion.to.practice.a.patent.or.co
7220 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 venant.not.to.sue.for.patent.inf
7240 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 22 67 72 61 6e 74 22 20 73 75 63 68 20 61 20 70 ringement)...To."grant".such.a.p
7260 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
7280 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
72a0 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
72c0 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 gainst.the.party.....If.you.conv
72e0 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c ey.a.covered.work,.knowingly.rel
7300 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 ying.on.a.patent.license,.and.th
7320 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f e.Corresponding.Source.of.the.wo
7340 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 rk.is.not.available.for.anyone.t
7360 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 o.copy,.free.of.charge.and.under
7380 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f .the.terms.of.this.License,.thro
73a0 75 67 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b ugh.a.publicly.available.network
73c0 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 .server.or.other.readily.accessi
73e0 62 6c 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 ble.means,.then.you.must.either.
7400 28 31 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 (1).cause.the.Corresponding.Sour
7420 63 65 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 ce.to.be.so.available,.or.(2).ar
7440 72 61 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 range.to.deprive.yourself.of.the
7460 20 62 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 .benefit.of.the.patent.license.f
7480 6f 72 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 or.this.particular.work,.or.(3).
74a0 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 arrange,.in.a.manner.consistent.
74c0 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 with.the.requirements.of.this.Li
74e0 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 cense,.to.extend.the.patent.lice
7500 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 22 nse.to.downstream.recipients..."
7520 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 22 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 Knowingly.relying".means.you.hav
7540 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
7560 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 .the.patent.license,.your.convey
7580 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
75a0 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
75c0 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
75e0 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
7600 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
7620 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
7640 20 76 61 6c 69 64 2e 0a 0a 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e .valid.....If,.pursuant.to.or.in
7660 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 .connection.with.a.single.transa
7680 63 74 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 ction.or.arrangement,.you.convey
76a0 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 ,.or.propagate.by.procuring.conv
76c0 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 eyance.of,.a.covered.work,.and.g
76e0 72 61 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 rant.a.patent.license.to.some.of
7700 20 74 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 .the.parties.receiving.the.cover
7720 65 64 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c ed.work.authorizing.them.to.use,
7740 20 70 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 .propagate,.modify.or.convey.a.s
7760 70 65 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b pecific.copy.of.the.covered.work
7780 2c 20 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 ,.then.the.patent.license.you.gr
77a0 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f ant.is.automatically.extended.to
77c0 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 .all.recipients.of.the.covered.w
77e0 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 41 20 ork.and.works.based.on.it.....A.
7800 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 22 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 patent.license.is."discriminator
7820 79 22 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e y".if.it.does.not.include.within
7840 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 .the.scope.of.its.coverage,.proh
7860 69 62 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 0a 63 6f 6e ibits.the.exercise.of,.or.is.con
7880 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 ditioned.on.the.non-exercise.of.
78a0 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 20 61 one.or.more.of.the.rights.that.a
78c0 72 65 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 re.specifically.granted.under.th
78e0 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 is.License...You.may.not.convey.
7900 61 20 63 6f 76 65 72 65 64 0a 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 a.covered.work.if.you.are.a.part
7920 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 y.to.an.arrangement.with.a.third
7940 20 70 61 72 74 79 20 74 68 61 74 20 69 73 0a 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 20 6f .party.that.is.in.the.business.o
7960 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 f.distributing.software,.under.w
7980 68 69 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 0a 74 6f 20 74 68 65 20 74 68 69 hich.you.make.payment.to.the.thi
79a0 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 rd.party.based.on.the.extent.of.
79c0 79 6f 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 0a 74 68 65 20 77 your.activity.of.conveying.the.w
79e0 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 ork,.and.under.which.the.third.p
7a00 61 72 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 0a 70 61 72 74 69 arty.grants,.to.any.of.the.parti
7a20 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 es.who.would.receive.the.covered
7a40 20 77 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 .work.from.you,.a.discriminatory
7a60 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f .patent.license.(a).in.connectio
7a80 6e 20 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 n.with.copies.of.the.covered.wor
7aa0 6b 0a 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 k.conveyed.by.you.(or.copies.mad
7ac0 65 20 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 e.from.those.copies),.or.(b).pri
7ae0 6d 61 72 69 6c 79 0a 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 marily.for.and.in.connection.wit
7b00 68 20 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 h.specific.products.or.compilati
7b20 6f 6e 73 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 ons.that.contain.the.covered.wor
7b40 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 k,.unless.you.entered.into.that.
7b60 61 72 72 61 6e 67 65 6d 65 6e 74 2c 0a 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 arrangement,.or.that.patent.lice
7b80 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 nse.was.granted,.prior.to.28.Mar
7ba0 63 68 20 32 30 30 37 2e 0a 0a 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 ch.2007.....Nothing.in.this.Lice
7bc0 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 nse.shall.be.construed.as.exclud
7be0 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 ing.or.limiting.any.implied.lice
7c00 6e 73 65 20 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 nse.or.other.defenses.to.infring
7c20 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 ement.that.may.otherwise.be.avai
7c40 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 lable.to.you.under.applicable.pa
7c60 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 tent.law.....12..No.Surrender.of
7c80 20 4f 74 68 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 49 66 20 63 6f 6e 64 69 74 69 6f .Others'.Freedom.....If.conditio
7ca0 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 ns.are.imposed.on.you.(whether.b
7cc0 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 y.court.order,.agreement.or.othe
7ce0 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 rwise).that.contradict.the.condi
7d00 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e tions.of.this.License,.they.do.n
7d20 6f 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e ot.excuse.you.from.the.condition
7d40 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f s.of.this.License...If.you.canno
7d60 74 20 63 6f 6e 76 65 79 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f t.convey.a.covered.work.so.as.to
7d80 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c .satisfy.simultaneously.your.obl
7da0 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 igations.under.this.License.and.
7dc0 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c any.other.pertinent.obligations,
7de0 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 0a 6e .then.as.a.consequence.you.may.n
7e00 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c ot.convey.it.at.all...For.exampl
7e20 65 2c 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 e,.if.you.agree.to.terms.that.ob
7e40 6c 69 67 61 74 65 20 79 6f 75 0a 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 ligate.you.to.collect.a.royalty.
7e60 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 68 6f 73 65 for.further.conveying.from.those
7e80 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 0a 74 68 65 20 50 72 6f 67 72 61 6d 2c .to.whom.you.convey.the.Program,
7ea0 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 .the.only.way.you.could.satisfy.
7ec0 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 0a 4c 69 63 65 6e 73 both.those.terms.and.this.Licens
7ee0 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 e.would.be.to.refrain.entirely.f
7f00 72 6f 6d 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 rom.conveying.the.Program.....13
7f20 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 ..Use.with.the.GNU.Affero.Genera
7f40 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e l.Public.License.....Notwithstan
7f60 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 ding.any.other.provision.of.this
7f80 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f .License,.you.have.permission.to
7fa0 20 6c 69 6e 6b 20 6f 72 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 .link.or.combine.any.covered.wor
7fc0 6b 20 77 69 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 k.with.a.work.licensed.under.ver
7fe0 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c sion.3.of.the.GNU.Affero.General
8000 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f .Public.License.into.a.single.co
8020 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 mbined.work,.and.to.convey.the.r
8040 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 esulting.work...The.terms.of.thi
8060 73 0a 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 s.License.will.continue.to.apply
8080 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 .to.the.part.which.is.the.covere
80a0 64 20 77 6f 72 6b 2c 0a 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d d.work,.but.the.special.requirem
80c0 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 ents.of.the.GNU.Affero.General.P
80e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 ublic.License,.section.13,.conce
8100 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 rning.interaction.through.a.netw
8120 6f 72 6b 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f ork.will.apply.to.the.combinatio
8140 6e 20 61 73 20 73 75 63 68 2e 0a 0a 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f n.as.such.....14..Revised.Versio
8160 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 54 68 65 20 46 72 65 65 20 ns.of.this.License.....The.Free.
8180 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 Software.Foundation.may.publish.
81a0 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 74 revised.and/or.new.versions.of.t
81c0 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 66 72 he.GNU.General.Public.License.fr
81e0 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 om.time.to.time...Such.new.versi
8200 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f ons.will.be.similar.in.spirit.to
8220 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 .the.present.version,.but.may.di
8240 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
8260 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 45 61 63 68 20 76 65 72 73 oblems.or.concerns.....Each.vers
8280 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 ion.is.given.a.distinguishing.ve
82a0 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 73 70 rsion.number...If.the.Program.sp
82c0 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 ecifies.that.a.certain.numbered.
82e0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 version.of.the.GNU.General.Publi
8300 63 20 4c 69 63 65 6e 73 65 20 22 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 c.License."or.any.later.version"
8320 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 0a 6f 70 74 .applies.to.it,.you.have.the.opt
8340 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 ion.of.following.the.terms.and.c
8360 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 onditions.either.of.that.numbere
8380 64 0a 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f d.version.or.of.any.later.versio
83a0 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 n.published.by.the.Free.Software
83c0 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 .Foundation...If.the.Program.doe
83e0 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f s.not.specify.a.version.number.o
8400 66 20 74 68 65 0a 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 f.the.GNU.General.Public.License
8420 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 ,.you.may.choose.any.version.eve
8440 72 20 70 75 62 6c 69 73 68 65 64 0a 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 r.published.by.the.Free.Software
8460 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 .Foundation.....If.the.Program.s
8480 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 pecifies.that.a.proxy.can.decide
84a0 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e .which.future.versions.of.the.GN
84c0 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 63 61 6e 20 62 65 20 U.General.Public.License.can.be.
84e0 75 73 65 64 2c 20 74 68 61 74 20 70 72 6f 78 79 27 73 0a 70 75 62 6c 69 63 20 73 74 61 74 65 6d used,.that.proxy's.public.statem
8500 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 ent.of.acceptance.of.a.version.p
8520 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 0a 74 6f 20 63 68 6f ermanently.authorizes.you.to.cho
8540 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d ose.that.version.for.the.Program
8560 2e 0a 0a 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 .....Later.license.versions.may.
8580 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 give.you.additional.or.different
85a0 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 .permissions...However,.no.addit
85c0 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e ional.obligations.are.imposed.on
85e0 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 .any.author.or.copyright.holder.
8600 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 as.a.result.of.your.choosing.to.
8620 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 follow.a.later.version.....15..D
8640 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 54 48 45 52 45 20 isclaimer.of.Warranty.....THERE.
8660 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 IS.NO.WARRANTY.FOR.THE.PROGRAM,.
8680 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 TO.THE.EXTENT.PERMITTED.BY.APPLI
86a0 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 CABLE.LAW...EXCEPT.WHEN.OTHERWIS
86c0 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 E.STATED.IN.WRITING.THE.COPYRIGH
86e0 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 T.HOLDERS.AND/OR.OTHER.PARTIES.P
8700 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f ROVIDE.THE.PROGRAM."AS.IS".WITHO
8720 55 54 20 57 41 52 52 41 4e 54 59 0a 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 UT.WARRANTY.OF.ANY.KIND,.EITHER.
8740 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c EXPRESSED.OR.IMPLIED,.INCLUDING,
8760 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 0a 54 48 45 20 49 4d 50 4c 49 45 44 .BUT.NOT.LIMITED.TO,.THE.IMPLIED
8780 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 .WARRANTIES.OF.MERCHANTABILITY.A
87a0 4e 44 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 0a 50 55 52 50 ND.FITNESS.FOR.A.PARTICULAR.PURP
87c0 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 OSE...THE.ENTIRE.RISK.AS.TO.THE.
87e0 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 QUALITY.AND.PERFORMANCE.OF.THE.P
8800 52 4f 47 52 41 4d 0a 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 ROGRAM.IS.WITH.YOU...SHOULD.THE.
8820 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 PROGRAM.PROVE.DEFECTIVE,.YOU.ASS
8840 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 0a 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 UME.THE.COST.OF.ALL.NECESSARY.SE
8860 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a RVICING,.REPAIR.OR.CORRECTION...
8880 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a ..16..Limitation.of.Liability...
88a0 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 ..IN.NO.EVENT.UNLESS.REQUIRED.BY
88c0 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 .APPLICABLE.LAW.OR.AGREED.TO.IN.
88e0 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 WRITING.WILL.ANY.COPYRIGHT.HOLDE
8900 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 R,.OR.ANY.OTHER.PARTY.WHO.MODIFI
8920 45 53 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 59 53 0a 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 ES.AND/OR.CONVEYS.THE.PROGRAM.AS
8940 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 .PERMITTED.ABOVE,.BE.LIABLE.TO.Y
8960 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 0a 47 45 OU.FOR.DAMAGES,.INCLUDING.ANY.GE
8980 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f NERAL,.SPECIAL,.INCIDENTAL.OR.CO
89a0 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 20 NSEQUENTIAL.DAMAGES.ARISING.OUT.
89c0 4f 46 20 54 48 45 0a 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 OF.THE.USE.OR.INABILITY.TO.USE.T
89e0 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 HE.PROGRAM.(INCLUDING.BUT.NOT.LI
8a00 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 0a 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 MITED.TO.LOSS.OF.DATA.OR.DATA.BE
8a20 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
8a40 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 0a 50 41 52 54 S.SUSTAINED.BY.YOU.OR.THIRD.PART
8a60 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 IES.OR.A.FAILURE.OF.THE.PROGRAM.
8a80 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 TO.OPERATE.WITH.ANY.OTHER.PROGRA
8aa0 4d 53 29 2c 0a 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 MS),.EVEN.IF.SUCH.HOLDER.OR.OTHE
8ac0 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 R.PARTY.HAS.BEEN.ADVISED.OF.THE.
8ae0 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 0a 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 POSSIBILITY.OF.SUCH.DAMAGES.....
8b00 31 37 2e 20 49 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 17..Interpretation.of.Sections.1
8b20 35 20 61 6e 64 20 31 36 2e 0a 0a 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 5.and.16.....If.the.disclaimer.o
8b40 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 f.warranty.and.limitation.of.lia
8b60 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 bility.provided.above.cannot.be.
8b80 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 given.local.legal.effect.accordi
8ba0 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 ng.to.their.terms,.reviewing.cou
8bc0 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d rts.shall.apply.local.law.that.m
8be0 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f ost.closely.approximates.an.abso
8c00 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 lute.waiver.of.all.civil.liabili
8c20 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 ty.in.connection.with.the.Progra
8c40 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 m,.unless.a.warranty.or.assumpti
8c60 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f on.of.liability.accompanies.a.co
8c80 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 py.of.the.Program.in.return.for.
8ca0 61 20 66 65 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 a.fee........................END
8cc0 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 .OF.TERMS.AND.CONDITIONS........
8ce0 20 20 20 20 20 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 ......How.to.Apply.These.Terms.t
8d00 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 o.Your.New.Programs....If.you.de
8d20 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e velop.a.new.program,.and.you.wan
8d40 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 t.it.to.be.of.the.greatest.possi
8d60 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
8d80 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
8da0 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 t.free.software.which.everyone.c
8dc0 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 an.redistribute.and.change.under
8de0 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 .these.terms.....To.do.so,.attac
8e00 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 h.the.following.notices.to.the.p
8e20 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 rogram...It.is.safest.to.attach.
8e40 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 them.to.the.start.of.each.source
8e60 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 .file.to.most.effectively.state.
8e80 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 the.exclusion.of.warranty;.and.e
8ea0 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 ach.file.should.have.at.least.th
8ec0 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 e."copyright".line.and.a.pointer
8ee0 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 .to.where.the.full.notice.is.fou
8f00 6e 64 2e 0a 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 nd.......<one.line.to.give.the.p
8f20 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f rogram's.name.and.a.brief.idea.o
8f40 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 f.what.it.does.>.....Copyright.(
8f60 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 C).<year>..<name.of.author>.....
8f80 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 3a 20 .This.program.is.free.software:.
8fa0 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 20 6d you.can.redistribute.it.and/or.m
8fc0 6f 64 69 66 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 odify.....it.under.the.terms.of.
8fe0 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 61 the.GNU.General.Public.License.a
9000 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 s.published.by.....the.Free.Soft
9020 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.
9040 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 3.of.the.License,.or.....(at.you
9060 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 6e 2e 0a 0a 20 20 r.option).any.later.version.....
9080 20 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 65 64 20 69 6e ..This.program.is.distributed.in
90a0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
90c0 2c 0a 20 20 20 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 ,.....but.WITHOUT.ANY.WARRANTY;.
90e0 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 72 61 6e 74 without.even.the.implied.warrant
9100 79 20 6f 66 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e y.of.....MERCHANTABILITY.or.FITN
9120 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 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
9140 65 65 20 74 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ee.the.....GNU.General.Public.Li
9160 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 20 20 20 20 59 6f 75 cense.for.more.details.......You
9180 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 20 .should.have.received.a.copy.of.
91a0 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 20 the.GNU.General.Public.License..
91c0 20 20 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.
91e0 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
9200 63 65 6e 73 65 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 censes/>...Also.add.information.
9220 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f on.how.to.contact.you.by.electro
9240 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 20 20 49 66 20 74 68 65 20 70 72 nic.and.paper.mail.....If.the.pr
9260 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c ogram.does.terminal.interaction,
9280 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c .make.it.output.a.short.notice.l
92a0 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e ike.this.when.it.starts.in.an.in
92c0 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 3c 70 72 6f 67 72 61 6d 3e 20 20 teractive.mode:......<program>..
92e0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 Copyright.(C).<year>..<name.of.a
9300 75 74 68 6f 72 3e 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 uthor>.....This.program.comes.wi
9320 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 th.ABSOLUTELY.NO.WARRANTY;.for.d
9340 65 74 61 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 etails.type.`show.w'......This.i
9360 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c s.free.software,.and.you.are.wel
9380 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 come.to.redistribute.it.....unde
93a0 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 r.certain.conditions;.type.`show
93c0 20 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 .c'.for.details...The.hypothetic
93e0 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 al.commands.`show.w'.and.`show.c
9400 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 '.should.show.the.appropriate.pa
9420 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 rts.of.the.General.Public.Licens
9440 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 27 73 20 63 6f e...Of.course,.your.program's.co
9460 6d 6d 61 6e 64 73 0a 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 mmands.might.be.different;.for.a
9480 20 47 55 49 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 20 75 73 65 20 61 6e .GUI.interface,.you.would.use.an
94a0 20 22 61 62 6f 75 74 20 62 6f 78 22 2e 0a 0a 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f ."about.box".....You.should.also
94c0 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
94e0 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 as.a.programmer).or.school,.if.a
9500 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 ny,.to.sign.a."copyright.disclai
9520 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 mer".for.the.program,.if.necessa
9540 72 79 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 ry..For.more.information.on.this
9560 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 ,.and.how.to.apply.and.follow.th
9580 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
95a0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 org/licenses/>.....The.GNU.Gener
95c0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
95e0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 0a 69 6e 74 t.incorporating.your.program.int
9600 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
9620 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
9640 2c 20 79 6f 75 0a 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
9660 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 l.to.permit.linking.proprietary.
9680 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 0a 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
96a0 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
96c0 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
96e0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
9700 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 0a 3c 68 74 74 70 e...But.first,.please.read.<http
9720 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 77 68 79 2d 6e 6f 74 s://www.gnu.org/licenses/why-not
9740 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -lgpl.html>.....................
9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9800 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 00 htmlize-1.59/README.md..........
9820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9860 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
9880 30 30 30 33 33 30 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 34 33 00 20 30 00 00 00 0003305.00000000000.013043..0...
98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9900 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...................
9920 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...................
9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a00 23 20 48 74 6d 6c 69 7a 65 20 e2 80 94 20 43 6f 6e 76 65 72 74 20 62 75 66 66 65 72 20 74 65 78 #.Htmlize.....Convert.buffer.tex
9a20 74 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 0a 0a 5b 21 5b 4e 6f t.and.decorations.to.HTML..[![No
9a40 6e 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f nGNU.ELPA](https://elpa.nongnu.o
9a60 72 67 2f 6e 6f 6e 67 6e 75 2f 68 74 6d 6c 69 7a 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f rg/nongnu/htmlize.svg)](https://
9a80 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 68 74 6d 6c 69 7a 65 2e 68 elpa.nongnu.org/nongnu/htmlize.h
9aa0 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 74 74 70 73 3a 2f 2f 73 74 tml).[![MELPA.Stable](https://st
9ac0 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 68 74 6d 6c 69 7a 65 2d able.melpa.org/packages/htmlize-
9ae0 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 badge.svg)](https://stable.melpa
9b00 2e 6f 72 67 2f 23 2f 68 74 6d 6c 69 7a 65 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 70 73 3a .org/#/htmlize).[![MELPA](https:
9b20 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 68 74 6d 6c 69 7a 65 2d 62 61 64 //melpa.org/packages/htmlize-bad
9b40 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 68 74 6d ge.svg)](https://melpa.org/#/htm
9b60 6c 69 7a 65 29 0a 0a 54 68 69 73 20 70 61 63 6b 61 67 65 20 63 6f 6e 76 65 72 74 73 20 74 68 65 lize)..This.package.converts.the
9b80 20 62 75 66 66 65 72 20 74 65 78 74 20 61 6e 64 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 0a .buffer.text.and.the.associated.
9ba0 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 2e 0a 0a 54 6f 20 75 73 65 20 69 74 2c decorations.to.HTML...To.use.it,
9bc0 20 6a 75 73 74 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 79 6f 75 20 77 .just.switch.to.the.buffer.you.w
9be0 61 6e 74 20 48 54 4d 4c 2d 69 7a 65 64 20 61 6e 64 20 74 79 70 65 0a 3c 6b 62 64 3e 4d 2d 78 20 ant.HTML-ized.and.type.<kbd>M-x.
9c00 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 3c 2f 6b 62 64 3e 2e 20 20 59 6f 75 20 77 69 6c 6c 20 htmlize-buffer</kbd>...You.will.
9c20 62 65 20 73 77 69 74 63 68 65 64 20 74 6f 20 61 20 6e 65 77 20 62 75 66 66 65 72 0a 74 68 61 74 be.switched.to.a.new.buffer.that
9c40 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 63 6f 64 .contains.the.resulting.HTML.cod
9c60 65 2e 20 20 59 6f 75 20 63 61 6e 20 65 64 69 74 20 61 6e 64 20 69 6e 73 70 65 63 74 20 74 68 69 e...You.can.edit.and.inspect.thi
9c80 73 0a 62 75 66 66 65 72 2c 20 6f 72 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 73 61 76 65 20 69 s.buffer,.or.you.can.just.save.i
9ca0 74 20 77 69 74 68 20 3c 6b 62 64 3e 43 2d 78 20 43 2d 77 3c 2f 6b 62 64 3e 2e 20 20 3c 6b 62 64 t.with.<kbd>C-x.C-w</kbd>...<kbd
9cc0 3e 4d 2d 78 0a 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 3c 2f 6b 62 64 3e 20 77 69 6c 6c 20 66 69 6e >M-x.htmlize-file</kbd>.will.fin
9ce0 64 20 61 20 66 69 6c 65 2c 20 66 6f 6e 74 69 66 79 20 69 74 2c 20 61 6e 64 20 73 61 76 65 20 74 d.a.file,.fontify.it,.and.save.t
9d00 68 65 20 48 54 4d 4c 0a 76 65 72 73 69 6f 6e 20 69 6e 20 60 46 49 4c 45 2e 68 74 6d 6c 60 2c 20 he.HTML.version.in.`FILE.html`,.
9d20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 74 65 72 76 65 6e 74 without.any.additional.intervent
9d40 69 6f 6e 2e 20 20 3c 6b 62 64 3e 4d 2d 78 0a 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 ion...<kbd>M-x.htmlize-many-file
9d60 73 3c 2f 6b 62 64 3e 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 68 74 6d 6c 69 7a 65 20 61 6e s</kbd>.allows.you.to.htmlize.an
9d80 79 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 73 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 6d 61 y.number.of.files.in.the.same.ma
9da0 6e 6e 65 72 2e 20 20 3c 6b 62 64 3e 4d 2d 78 20 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c nner...<kbd>M-x.htmlize-many-fil
9dc0 65 73 2d 64 69 72 65 64 3c 2f 6b 62 64 3e 20 64 6f 65 73 20 74 68 65 0a 73 61 6d 65 20 66 6f 72 es-dired</kbd>.does.the.same.for
9de0 20 66 69 6c 65 73 20 6d 61 72 6b 65 64 20 69 6e 20 61 20 64 69 72 65 64 20 62 75 66 66 65 72 2e .files.marked.in.a.dired.buffer.
9e00 0a 0a 48 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 73 20 74 68 72 65 65 20 74 79 70 65 73 20 6f ..Htmlize.supports.three.types.o
9e20 66 20 48 54 4d 4c 20 6f 75 74 70 75 74 2c 20 73 65 6c 65 63 74 65 64 20 62 79 20 73 65 74 74 69 f.HTML.output,.selected.by.setti
9e40 6e 67 0a 60 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 60 3a 20 60 63 73 73 60 2c ng.`htmlize-output-type`:.`css`,
9e60 20 60 69 6e 6c 69 6e 65 2d 63 73 73 60 20 28 6f 70 74 69 6d 69 7a 65 64 20 66 6f 72 20 63 6f 64 .`inline-css`.(optimized.for.cod
9e80 65 0a 73 6e 69 70 70 65 74 73 29 2c 20 61 6e 64 20 60 66 6f 6e 74 60 20 28 73 69 6d 70 6c 65 72 e.snippets),.and.`font`.(simpler
9ea0 20 6f 75 74 70 75 74 2c 20 64 6f 65 73 6e 27 74 20 72 65 6c 79 20 6f 6e 20 43 53 53 29 2e 20 20 .output,.doesn't.rely.on.CSS)...
9ec0 53 65 65 0a 5b 60 68 74 6d 6c 69 7a 65 2e 65 6c 2e 68 74 6d 6c 60 5d 5b 31 5d 20 66 6f 72 20 61 See.[`htmlize.el.html`][1].for.a
9ee0 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 2e 0a 0a 59 6f n.example.of.generated.HTML...Yo
9f00 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 68 74 6d 6c 69 7a 65 20 66 72 6f 6d 20 79 6f 75 72 u.can.also.use.htmlize.from.your
9f20 20 45 6d 61 63 73 20 4c 69 73 70 20 63 6f 64 65 2e 20 20 57 68 65 6e 20 63 61 6c 6c 65 64 0a 6e .Emacs.Lisp.code...When.called.n
9f40 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 on-interactively,.`htmlize-buffe
9f60 72 60 20 61 6e 64 20 60 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 60 20 77 69 6c 6c 0a 72 65 74 r`.and.`htmlize-region`.will.ret
9f80 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 62 75 66 66 65 72 2c 20 62 urn.the.resulting.HTML.buffer,.b
9fa0 75 74 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 20 63 75 72 72 65 6e 74 0a 62 75 66 66 65 ut.will.not.change.current.buffe
9fc0 72 20 6f 72 20 6d 6f 76 65 20 74 68 65 20 70 6f 69 6e 74 2e 20 20 48 74 6d 6c 69 7a 65 20 77 69 r.or.move.the.point...Htmlize.wi
9fe0 6c 6c 20 64 6f 20 69 74 73 20 62 65 73 74 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 6e 6f 6e 2d 77 69 ll.do.its.best.to.work.on.non-wi
a000 6e 64 6f 77 69 6e 67 20 45 6d 61 63 73 20 73 65 73 73 69 6f 6e 73 20 62 75 74 20 74 68 65 20 72 ndowing.Emacs.sessions.but.the.r
a020 65 73 75 6c 74 20 77 69 6c 6c 20 62 65 20 6c 69 6d 69 74 65 64 20 74 6f 0a 63 6f 6c 6f 72 73 20 esult.will.be.limited.to.colors.
a040 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e 0a 0a 5b 31 5d 3a supported.by.the.terminal...[1]:
a060 20 68 74 74 70 3a 2f 2f 68 74 6d 6c 70 72 65 76 69 65 77 2e 67 69 74 68 75 62 2e 69 6f 2f 3f 68 .http://htmlpreview.github.io/?h
a080 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 6f 72 70 68 61 6e 61 67 65 ttps://github.com/emacsorphanage
a0a0 2f 68 74 6d 6c 69 7a 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 68 74 6d 6c 69 7a 65 2e 65 6c 2e /htmlize/blob/master/htmlize.el.
a0c0 68 74 6d 6c 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 00 00 html............................
a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a200 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 68 74 6d 6c 69 7a 65 2e 65 6c 00 00 00 00 00 00 00 00 00 htmlize-1.59/htmlize.el.........
a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a260 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
a280 30 32 32 35 33 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 37 31 00 20 30 00 00 00 0225351.00000000000.013571..0...
a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a300 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...................
a320 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...................
a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a400 3b 3b 3b 20 68 74 6d 6c 69 7a 65 2e 65 6c 20 2d 2d 2d 20 43 6f 6e 76 65 72 74 20 62 75 66 66 65 ;;;.htmlize.el.---.Convert.buffe
a420 72 20 74 65 78 74 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 20 20 r.text.and.decorations.to.HTML..
a440 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 -*-.lexical-binding:.t.-*-..;;.C
a460 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 39 37 2d 32 30 30 33 2c 32 30 30 35 2c 32 30 30 36 opyright.(C).1997-2003,2005,2006
a480 2c 32 30 30 39 2c 32 30 31 31 2c 32 30 31 32 2c 32 30 31 34 2c 32 30 31 37 2c 32 30 31 38 2c 32 ,2009,2011,2012,2014,2017,2018,2
a4a0 30 32 30 20 48 72 76 6f 6a 65 20 4e 69 6b 73 69 63 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 48 72 020.Hrvoje.Niksic..;;.Author:.Hr
a4c0 76 6f 6a 65 20 4e 69 6b 73 69 63 20 3c 68 6e 69 6b 73 69 63 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a voje.Niksic.<hniksic@gmail.com>.
a4e0 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ;;.Homepage:.https://github.com/
a500 65 6d 61 63 73 6f 72 70 68 61 6e 61 67 65 2f 68 74 6d 6c 69 7a 65 0a 3b 3b 20 4b 65 79 77 6f 72 emacsorphanage/htmlize.;;.Keywor
a520 64 73 3a 20 68 79 70 65 72 6d 65 64 69 61 2c 20 65 78 74 65 6e 73 69 6f 6e 73 0a 3b 3b 20 50 61 ds:.hypermedia,.extensions.;;.Pa
a540 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 31 2e 35 39 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 ckage-Version:.1.59.;;.Package-R
a560 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 36 2e 31 22 29 29 0a 0a 3b 3b 20 53 50 equires:.((emacs."26.1"))..;;.SP
a580 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f DX-License-Identifier:.GPL-3.0-o
a5a0 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f r-later..;;.This.file.is.free.so
a5c0 66 74 77 61 72 65 3a 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 ftware:.you.can.redistribute.it.
a5e0 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 65 and/or.modify.;;.it.under.the.te
a600 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 69 rms.of.the.GNU.General.Public.Li
a620 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 0a 3b 3b 20 62 79 20 74 68 65 20 46 72 65 cense.as.published.;;.by.the.Fre
a640 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 65 e.Software.Foundation,.either.ve
a660 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 0a 3b 3b 20 6f 72 20 28 61 rsion.3.of.the.License,.;;.or.(a
a680 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 6e t.your.option).any.later.version
a6a0 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 ..;;.;;.This.file.is.distributed
a6c0 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 73 65 .in.the.hope.that.it.will.be.use
a6e0 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 54 59 ful,.;;.but.WITHOUT.ANY.WARRANTY
a700 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 72 61 ;.without.even.the.implied.warra
a720 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 49 54 nty.of.;;.MERCHANTABILITY.or.FIT
a740 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 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
a760 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 4c 69 See.the.;;.GNU.General.Public.Li
a780 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f cense.for.more.details..;;.;;.Yo
a7a0 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
a7c0 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.
a7e0 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 66 69 6c 65 2e 20 20 49 66 20 6e 6f 74 ;;.along.with.this.file...If.not
a800 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 63 65 6e ,.see.<https://www.gnu.org/licen
a820 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 20 54 68 69 73 ses/>...;;;.Commentary:..;;.This
a840 20 70 61 63 6b 61 67 65 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 62 75 66 66 65 72 20 74 65 78 .package.converts.the.buffer.tex
a860 74 20 61 6e 64 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 0a 3b 3b 20 64 65 63 6f 72 61 74 69 t.and.the.associated.;;.decorati
a880 6f 6e 73 20 74 6f 20 48 54 4d 4c 2e 0a 0a 3b 3b 20 54 6f 20 75 73 65 20 69 74 2c 20 6a 75 73 74 ons.to.HTML...;;.To.use.it,.just
a8a0 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 79 6f 75 20 77 61 6e 74 20 48 .switch.to.the.buffer.you.want.H
a8c0 54 4d 4c 2d 69 7a 65 64 20 61 6e 64 20 74 79 70 65 0a 3b 3b 20 60 4d 2d 78 20 68 74 6d 6c 69 7a TML-ized.and.type.;;.`M-x.htmliz
a8e0 65 2d 62 75 66 66 65 72 27 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65 20 73 77 69 74 63 68 65 64 e-buffer'...You.will.be.switched
a900 20 74 6f 20 61 20 6e 65 77 20 62 75 66 66 65 72 20 74 68 61 74 0a 3b 3b 20 63 6f 6e 74 61 69 6e .to.a.new.buffer.that.;;.contain
a920 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 63 6f 64 65 2e 20 20 59 6f 75 20 s.the.resulting.HTML.code...You.
a940 63 61 6e 20 65 64 69 74 20 61 6e 64 20 69 6e 73 70 65 63 74 20 74 68 69 73 0a 3b 3b 20 62 75 66 can.edit.and.inspect.this.;;.buf
a960 66 65 72 2c 20 6f 72 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 73 61 76 65 20 69 74 20 77 69 74 fer,.or.you.can.just.save.it.wit
a980 68 20 43 2d 78 20 43 2d 77 2e 20 20 60 4d 2d 78 20 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 27 0a 3b h.C-x.C-w...`M-x.htmlize-file'.;
a9a0 3b 20 77 69 6c 6c 20 66 69 6e 64 20 61 20 66 69 6c 65 2c 20 66 6f 6e 74 69 66 79 20 69 74 2c 20 ;.will.find.a.file,.fontify.it,.
a9c0 61 6e 64 20 73 61 76 65 20 74 68 65 20 48 54 4d 4c 20 76 65 72 73 69 6f 6e 20 69 6e 0a 3b 3b 20 and.save.the.HTML.version.in.;;.
a9e0 46 49 4c 45 2e 68 74 6d 6c 2c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 FILE.html,.without.any.additiona
aa00 6c 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2e 20 20 60 4d 2d 78 0a 3b 3b 20 68 74 6d 6c 69 7a 65 l.intervention...`M-x.;;.htmlize
aa20 2d 6d 61 6e 79 2d 66 69 6c 65 73 27 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 68 74 6d 6c 69 -many-files'.allows.you.to.htmli
aa40 7a 65 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 73 20 69 6e 0a 3b 3b 20 74 68 65 ze.any.number.of.files.in.;;.the
aa60 20 73 61 6d 65 20 6d 61 6e 6e 65 72 2e 20 20 60 4d 2d 78 20 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 .same.manner...`M-x.htmlize-many
aa80 2d 66 69 6c 65 73 2d 64 69 72 65 64 27 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 0a -files-dired'.does.the.same.for.
aaa0 3b 3b 20 66 69 6c 65 73 20 6d 61 72 6b 65 64 20 69 6e 20 61 20 64 69 72 65 64 20 62 75 66 66 65 ;;.files.marked.in.a.dired.buffe
aac0 72 2e 0a 0a 3b 3b 20 48 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 73 20 74 68 72 65 65 20 74 79 r...;;.Htmlize.supports.three.ty
aae0 70 65 73 20 6f 66 20 48 54 4d 4c 20 6f 75 74 70 75 74 2c 20 73 65 6c 65 63 74 65 64 20 62 79 20 pes.of.HTML.output,.selected.by.
ab00 73 65 74 74 69 6e 67 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 27 setting.;;.`htmlize-output-type'
ab20 3a 20 60 63 73 73 27 2c 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 61 6e 64 20 60 66 6f 6e 74 :.`css',.`inline-css',.and.`font
ab40 27 2e 20 20 49 6e 20 60 63 73 73 27 0a 3b 3b 20 6d 6f 64 65 2c 20 68 74 6d 6c 69 7a 65 20 75 73 '...In.`css'.;;.mode,.htmlize.us
ab60 65 73 20 63 61 73 63 61 64 69 6e 67 20 73 74 79 6c 65 20 73 68 65 65 74 73 20 74 6f 20 73 70 65 es.cascading.style.sheets.to.spe
ab80 63 69 66 79 20 63 6f 6c 6f 72 73 3b 20 69 74 0a 3b 3b 20 67 65 6e 65 72 61 74 65 73 20 63 6c 61 cify.colors;.it.;;.generates.cla
aba0 73 73 65 73 20 74 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 45 6d 61 63 73 20 66 61 sses.that.correspond.to.Emacs.fa
abc0 63 65 73 20 61 6e 64 20 75 73 65 73 20 3c 73 70 61 6e 0a 3b 3b 20 63 6c 61 73 73 3d 46 41 43 45 ces.and.uses.<span.;;.class=FACE
abe0 3e 2e 2e 2e 3c 2f 73 70 61 6e 3e 20 74 6f 20 63 6f 6c 6f 72 20 70 61 72 74 73 20 6f 66 20 74 65 >...</span>.to.color.parts.of.te
ac00 78 74 2e 20 20 49 6e 20 74 68 69 73 20 6d 6f 64 65 2c 20 74 68 65 0a 3b 3b 20 70 72 6f 64 75 63 xt...In.this.mode,.the.;;.produc
ac20 65 64 20 48 54 4d 4c 20 69 73 20 76 61 6c 69 64 20 75 6e 64 65 72 20 74 68 65 20 34 2e 30 31 20 ed.HTML.is.valid.under.the.4.01.
ac40 73 74 72 69 63 74 20 44 54 44 2c 20 61 73 20 63 6f 6e 66 69 72 6d 65 64 20 62 79 0a 3b 3b 20 74 strict.DTD,.as.confirmed.by.;;.t
ac60 68 65 20 57 33 43 20 76 61 6c 69 64 61 74 6f 72 2e 20 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 he.W3C.validator...`inline-css'.
ac80 69 73 20 6c 69 6b 65 20 60 63 73 73 27 2c 20 65 78 63 65 70 74 20 74 68 65 20 43 53 53 20 69 73 is.like.`css',.except.the.CSS.is
aca0 0a 3b 3b 20 70 75 74 20 64 69 72 65 63 74 6c 79 20 69 6e 20 74 68 65 20 53 54 59 4c 45 20 61 74 .;;.put.directly.in.the.STYLE.at
acc0 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 53 50 41 4e 20 65 6c 65 6d 65 6e 74 2c 20 6d 61 6b tribute.of.the.SPAN.element,.mak
ace0 69 6e 67 20 69 74 0a 3b 3b 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 70 61 73 74 65 20 74 68 65 20 ing.it.;;.possible.to.paste.the.
ad00 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 20 69 6e 74 6f 20 65 78 69 73 74 69 6e 67 20 48 54 4d generated.HTML.into.existing.HTM
ad20 4c 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 3b 3b 20 49 6e 20 60 66 6f 6e 74 27 20 6d 6f 64 65 2c 20 L.documents..;;.In.`font'.mode,.
ad40 68 74 6d 6c 69 7a 65 20 75 73 65 73 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 2e 2e 2e 22 3e 2e htmlize.uses.<font.color="...">.
ad60 2e 2e 3c 2f 66 6f 6e 74 3e 20 74 6f 0a 3b 3b 20 63 6f 6c 6f 72 69 7a 65 20 48 54 4d 4c 2c 20 77 ..</font>.to.;;.colorize.HTML,.w
ad80 68 69 63 68 20 69 73 20 6e 6f 74 20 73 74 61 6e 64 61 72 64 2d 63 6f 6d 70 6c 69 61 6e 74 2c 20 hich.is.not.standard-compliant,.
ada0 62 75 74 20 77 6f 72 6b 73 20 62 65 74 74 65 72 20 69 6e 0a 3b 3b 20 6f 6c 64 65 72 20 62 72 6f but.works.better.in.;;.older.bro
adc0 77 73 65 72 73 2e 20 20 60 63 73 73 27 20 6d 6f 64 65 20 69 73 20 74 68 65 20 64 65 66 61 75 6c wsers...`css'.mode.is.the.defaul
ade0 74 2e 0a 0a 3b 3b 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 68 74 6d 6c 69 7a 65 20 t...;;.You.can.also.use.htmlize.
ae00 66 72 6f 6d 20 79 6f 75 72 20 45 6d 61 63 73 20 4c 69 73 70 20 63 6f 64 65 2e 20 20 57 68 65 6e from.your.Emacs.Lisp.code...When
ae20 20 63 61 6c 6c 65 64 0a 3b 3b 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 60 68 .called.;;.non-interactively,.`h
ae40 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 20 61 6e 64 20 60 68 74 6d 6c 69 7a 65 2d 72 65 67 69 tmlize-buffer'.and.`htmlize-regi
ae60 6f 6e 27 20 77 69 6c 6c 0a 3b 3b 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 on'.will.;;.return.the.resulting
ae80 20 48 54 4d 4c 20 62 75 66 66 65 72 2c 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 .HTML.buffer,.but.will.not.chang
aea0 65 20 63 75 72 72 65 6e 74 0a 3b 3b 20 62 75 66 66 65 72 20 6f 72 20 6d 6f 76 65 20 74 68 65 20 e.current.;;.buffer.or.move.the.
aec0 70 6f 69 6e 74 2e 20 20 48 74 6d 6c 69 7a 65 20 77 69 6c 6c 20 64 6f 20 69 74 73 20 62 65 73 74 point...Htmlize.will.do.its.best
aee0 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 3b 3b 20 6e 6f 6e 2d 77 69 6e 64 6f 77 69 6e 67 20 45 6d 61 .to.work.on.;;.non-windowing.Ema
af00 63 73 20 73 65 73 73 69 6f 6e 73 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 cs.sessions.but.the.result.will.
af20 62 65 20 6c 69 6d 69 74 65 64 20 74 6f 0a 3b 3b 20 63 6f 6c 6f 72 73 20 73 75 70 70 6f 72 74 65 be.limited.to.;;.colors.supporte
af40 64 20 62 79 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e 0a 0a 3b 3b 20 54 68 65 20 6c 61 74 65 73 d.by.the.terminal...;;.The.lates
af60 74 20 76 65 72 73 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 74 3a 0a 3b 3b 0a 3b 3b t.version.is.available.at:.;;.;;
af80 20 20 20 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 ........<https://github.com/emac
afa0 73 6f 72 70 68 61 6e 61 67 65 2f 68 74 6d 6c 69 7a 65 3e 0a 0a 3b 3b 20 54 68 61 6e 6b 73 20 67 sorphanage/htmlize>..;;.Thanks.g
afc0 6f 20 74 6f 20 74 68 65 20 6d 61 6e 79 20 70 65 6f 70 6c 65 20 77 68 6f 20 68 61 76 65 20 73 65 o.to.the.many.people.who.have.se
afe0 6e 74 20 72 65 70 6f 72 74 73 20 61 6e 64 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 3b 3b 20 63 6f nt.reports.and.contributed.;;.co
b000 6d 6d 65 6e 74 73 2c 20 73 75 67 67 65 73 74 69 6f 6e 73 2c 20 61 6e 64 20 66 69 78 65 73 2e 20 mments,.suggestions,.and.fixes..
b020 20 54 68 65 79 20 69 6e 63 6c 75 64 65 20 52 6f 6e 20 47 75 74 2c 20 42 6f 62 0a 3b 3b 20 57 65 .They.include.Ron.Gut,.Bob.;;.We
b040 69 6e 65 72 2c 20 54 6f 6e 69 20 44 72 61 62 69 6b 2c 20 50 65 74 65 72 20 42 72 65 74 6f 6e 2c iner,.Toni.Drabik,.Peter.Breton,
b060 20 56 69 6c 6c 65 20 53 6b 79 74 74 61 2c 20 54 68 6f 6d 61 73 20 56 6f 67 65 6c 73 2c 0a 3b 3b .Ville.Skytta,.Thomas.Vogels,.;;
b080 20 4a 75 72 69 20 4c 69 6e 6b 6f 76 2c 20 4d 61 63 69 65 6b 20 50 61 73 74 65 72 6e 61 63 6b 69 .Juri.Linkov,.Maciek.Pasternacki
b0a0 2c 20 61 6e 64 20 6d 61 6e 79 20 6f 74 68 65 72 73 2e 0a 0a 3b 3b 20 55 73 65 72 20 71 75 6f 74 ,.and.many.others...;;.User.quot
b0c0 65 73 3a 20 22 59 6f 75 20 73 69 72 2c 20 61 72 65 20 61 20 73 69 63 6b 2c 20 73 69 63 6b 2c 20 es:."You.sir,.are.a.sick,.sick,.
b0e0 5f 73 69 63 6b 5f 20 70 65 72 73 6f 6e 2e 20 3a 29 22 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 _sick_.person..:)".;;...........
b100 20 20 20 20 20 20 20 2d 2d 20 42 69 6c 6c 20 50 65 72 72 79 2c 20 61 75 74 68 6f 72 20 6f 66 20 .......--.Bill.Perry,.author.of.
b120 45 6d 61 63 73 2f 57 33 0a 0a 0c 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 Emacs/W3....;;;.Code:..(require.
b140 27 63 6c 2d 6c 69 62 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 74 6d 6c 69 7a 65 2d 76 65 72 73 'cl-lib)..(defconst.htmlize-vers
b160 69 6f 6e 20 22 31 2e 35 39 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 68 74 6d 6c 69 7a 65 20 6e ion."1.59")..(defgroup.htmlize.n
b180 69 6c 0a 20 20 22 43 6f 6e 76 65 72 74 20 62 75 66 66 65 72 20 74 65 78 74 20 61 6e 64 20 66 61 il..."Convert.buffer.text.and.fa
b1a0 63 65 73 20 74 6f 20 48 54 4d 4c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 68 79 70 65 72 6d 65 64 ces.to.HTML."...:group.'hypermed
b1c0 69 61 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 65 61 64 2d 74 61 67 ia)..(defcustom.htmlize-head-tag
b1e0 73 20 22 22 0a 20 20 22 41 64 64 69 74 69 6f 6e 61 6c 20 74 61 67 73 20 74 6f 20 69 6e 73 65 72 s.""..."Additional.tags.to.inser
b200 74 20 77 69 74 68 69 6e 20 48 45 41 44 20 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 64 t.within.HEAD.of.the.generated.d
b220 6f 63 75 6d 65 6e 74 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 ocument."...:type.'string...:gro
b240 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 up.'htmlize)..(defcustom.htmlize
b260 2d 6f 75 74 70 75 74 2d 74 79 70 65 20 27 63 73 73 0a 20 20 22 4f 75 74 70 75 74 20 74 79 70 65 -output-type.'css..."Output.type
b280 20 6f 66 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 2c 20 6f 6e 65 20 6f 66 20 60 63 73 73 27 .of.generated.HTML,.one.of.`css'
b2a0 2c 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 6f 72 20 60 66 6f 6e 74 27 2e 0a 57 68 65 6e 20 ,.`inline-css',.or.`font'..When.
b2c0 73 65 74 20 74 6f 20 60 63 73 73 27 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 68 74 6d 6c set.to.`css'.(the.default),.html
b2e0 69 7a 65 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 73 74 79 6c 65 20 73 68 65 65 74 0a ize.will.generate.a.style.sheet.
b300 77 69 74 68 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 66 61 63 65 73 2c 20 61 6e 64 20 75 with.description.of.faces,.and.u
b320 73 65 20 69 74 20 69 6e 20 74 68 65 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 2c 20 73 70 65 63 se.it.in.the.HTML.document,.spec
b340 69 66 79 69 6e 67 0a 74 68 65 20 66 61 63 65 73 20 69 6e 20 74 68 65 20 61 63 74 75 61 6c 20 74 ifying.the.faces.in.the.actual.t
b360 65 78 74 20 77 69 74 68 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 5c 22 46 41 43 45 5c 22 3e 2e 0a ext.with.<span.class=\"FACE\">..
b380 0a 57 68 65 6e 20 73 65 74 20 74 6f 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 74 68 65 20 73 .When.set.to.`inline-css',.the.s
b3a0 74 79 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 61 73 20 61 62 6f 76 65 2c tyle.will.be.generated.as.above,
b3c0 20 62 75 74 0a 70 6c 61 63 65 64 20 64 69 72 65 63 74 6c 79 20 69 6e 20 74 68 65 20 53 54 59 4c .but.placed.directly.in.the.STYL
b3e0 45 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 73 70 61 6e 20 45 4c 45 4d 45 4e 54 3a E.attribute.of.the.span.ELEMENT:
b400 20 3c 73 70 61 6e 0a 73 74 79 6c 65 3d 5c 22 53 54 59 4c 45 5c 22 3e 2e 20 20 54 68 69 73 20 6d .<span.style=\"STYLE\">...This.m
b420 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 70 61 73 74 65 20 74 68 65 20 72 65 73 75 akes.it.easier.to.paste.the.resu
b440 6c 74 69 6e 67 20 48 54 4d 4c 20 74 6f 0a 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 0a lting.HTML.to.other.documents...
b460 57 68 65 6e 20 73 65 74 20 74 6f 20 60 66 6f 6e 74 27 2c 20 74 68 65 20 70 72 6f 70 65 72 74 69 When.set.to.`font',.the.properti
b480 65 73 20 77 69 6c 6c 20 62 65 20 73 65 74 20 75 73 69 6e 67 20 6c 61 79 6f 75 74 20 74 61 67 73 es.will.be.set.using.layout.tags
b4a0 0a 3c 66 6f 6e 74 3e 2c 20 3c 62 3e 2c 20 3c 69 3e 2c 20 3c 75 3e 2c 20 61 6e 64 20 3c 73 74 72 .<font>,.<b>,.<i>,.<u>,.and.<str
b4c0 69 6b 65 3e 2e 0a 0a 60 63 73 73 27 20 6f 75 74 70 75 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 ike>...`css'.output.is.normally.
b4e0 70 72 65 66 65 72 72 65 64 2c 20 62 75 74 20 60 66 6f 6e 74 27 20 69 73 20 73 74 69 6c 6c 20 75 preferred,.but.`font'.is.still.u
b500 73 65 66 75 6c 20 66 6f 72 0a 73 75 70 70 6f 72 74 69 6e 67 20 6f 6c 64 2c 20 70 72 65 2d 43 53 seful.for.supporting.old,.pre-CS
b520 53 20 62 72 6f 77 73 65 72 73 2c 20 61 6e 64 20 62 6f 74 68 20 60 69 6e 6c 69 6e 65 2d 63 73 73 S.browsers,.and.both.`inline-css
b540 27 20 61 6e 64 20 60 66 6f 6e 74 27 20 66 6f 72 0a 65 61 73 69 65 72 20 65 6d 62 65 64 64 69 6e '.and.`font'.for.easier.embeddin
b560 67 20 6f 66 20 63 6f 6c 6f 72 69 7a 65 64 20 74 65 78 74 20 69 6e 20 66 6f 72 65 69 67 6e 20 48 g.of.colorized.text.in.foreign.H
b580 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 73 20 28 6e 6f 20 73 74 79 6c 65 0a 73 68 65 65 74 20 74 6f TML.documents.(no.style.sheet.to
b5a0 20 63 61 72 72 79 20 61 72 6f 75 6e 64 29 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 .carry.around)."...:type.'(choic
b5c0 65 20 28 63 6f 6e 73 74 20 63 73 73 29 20 28 63 6f 6e 73 74 20 69 6e 6c 69 6e 65 2d 63 73 73 29 e.(const.css).(const.inline-css)
b5e0 20 28 63 6f 6e 73 74 20 66 6f 6e 74 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 .(const.font))...:group.'htmlize
b600 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 69 6d 61 67 65 73 )..(defcustom.htmlize-use-images
b620 20 74 0a 20 20 22 57 68 65 74 68 65 72 20 68 74 6d 6c 69 7a 65 20 67 65 6e 65 72 61 74 65 73 20 .t..."Whether.htmlize.generates.
b640 60 69 6d 67 27 20 66 6f 72 20 69 6d 61 67 65 73 20 61 74 74 61 63 68 65 64 20 74 6f 20 62 75 66 `img'.for.images.attached.to.buf
b660 66 65 72 20 63 6f 6e 74 65 6e 74 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a fer.contents."...:type.'boolean.
b680 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 ..:group.'htmlize)..(defcustom.h
b6a0 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 73 20 6e 69 6c 0a 20 tmlize-force-inline-images.nil..
b6c0 20 22 4e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 67 65 6e 65 72 61 74 65 20 61 6c 6c 20 69 6d 61 ."Non-nil.means.generate.all.ima
b6e0 67 65 73 20 69 6e 6c 69 6e 65 20 75 73 69 6e 67 20 64 61 74 61 20 55 52 4c 73 2e 0a 4e 6f 72 6d ges.inline.using.data.URLs..Norm
b700 61 6c 6c 79 20 68 74 6d 6c 69 7a 65 20 63 6f 6e 76 65 72 74 73 20 69 6d 61 67 65 20 64 65 73 63 ally.htmlize.converts.image.desc
b720 72 69 70 74 6f 72 73 20 77 69 74 68 20 3a 66 69 6c 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 6f riptors.with.:file.properties.to
b740 0a 72 65 6c 61 74 69 76 65 20 55 52 49 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 77 69 74 68 20 3a .relative.URIs,.and.those.with.:
b760 64 61 74 61 20 70 72 6f 70 65 72 74 69 65 73 20 74 6f 20 64 61 74 61 20 55 52 49 73 2e 20 20 57 data.properties.to.data.URIs...W
b780 69 74 68 20 74 68 69 73 0a 66 6c 61 67 20 73 65 74 2c 20 74 68 65 20 69 6d 61 67 65 73 20 73 70 ith.this.flag.set,.the.images.sp
b7a0 65 63 69 66 69 65 64 20 61 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 61 72 65 20 6c 6f 61 64 65 ecified.as.a.file.name.are.loade
b7c0 64 20 69 6e 74 6f 20 6d 65 6d 6f 72 79 20 61 6e 64 0a 65 6d 62 65 64 64 65 64 20 69 6e 20 74 68 d.into.memory.and.embedded.in.th
b7e0 65 20 48 54 4d 4c 20 61 73 20 64 61 74 61 20 55 52 49 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 e.HTML.as.data.URIs."...:type.'b
b800 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 oolean...:group.'htmlize)..(defc
b820 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 6d 61 78 2d 61 6c 74 2d 74 65 78 74 20 31 30 30 0a 20 ustom.htmlize-max-alt-text.100..
b840 20 22 4d 61 78 69 6d 75 6d 20 73 69 7a 65 20 6f 66 20 74 65 78 74 20 74 6f 20 75 73 65 20 61 73 ."Maximum.size.of.text.to.use.as
b860 20 41 4c 54 20 74 65 78 74 20 69 6e 20 69 6d 61 67 65 73 2e 0a 0a 4e 6f 72 6d 61 6c 6c 79 20 77 .ALT.text.in.images...Normally.w
b880 68 65 6e 20 68 74 6d 6c 69 7a 65 20 65 6e 63 6f 75 6e 74 65 72 73 20 74 65 78 74 20 63 6f 76 65 hen.htmlize.encounters.text.cove
b8a0 72 65 64 20 62 79 20 74 68 65 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 0a 74 68 red.by.the.`display'.property.th
b8c0 61 74 20 73 70 65 63 69 66 69 65 73 20 61 6e 20 69 6d 61 67 65 2c 20 69 74 20 67 65 6e 65 72 61 at.specifies.an.image,.it.genera
b8e0 74 65 73 20 61 6e 20 60 61 6c 74 27 20 61 74 74 72 69 62 75 74 65 20 63 6f 6e 74 61 69 6e 69 6e tes.an.`alt'.attribute.containin
b900 67 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 2e 20 20 49 66 20 74 68 65 20 74 65 78 g.the.original.text...If.the.tex
b920 74 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 60 68 74 6d 6c 69 7a 65 2d 6d 61 78 2d 61 6c t.is.larger.than.`htmlize-max-al
b940 74 2d 74 65 78 74 27 20 63 68 61 72 61 63 74 65 72 73 2c 0a 74 68 69 73 20 77 69 6c 6c 20 6e 6f t-text'.characters,.this.will.no
b960 74 20 62 65 20 64 6f 6e 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 0a 20 20 3a t.be.done."...:type.'integer...:
b980 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c group.'htmlize)..(defcustom.html
b9a0 69 7a 65 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 65 20 27 68 74 6d 6c 69 7a 65 2d 64 65 66 ize-transform-image.'htmlize-def
b9c0 61 75 6c 74 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 65 0a 20 20 22 46 75 6e 63 74 69 6f 6e ault-transform-image..."Function
b9e0 20 63 61 6c 6c 65 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 69 6d 61 67 65 20 64 65 73 63 .called.to.modify.the.image.desc
ba00 72 69 70 74 6f 72 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 riptor...The.function.is.called.
ba20 77 69 74 68 20 74 68 65 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 75 6e 64 20 with.the.image.descriptor.found.
ba40 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 0a 74 68 65 20 74 65 78 74 20 74 68 65 20 69 in.the.buffer.and.the.text.the.i
ba60 6d 61 67 65 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 72 65 70 6c 61 63 65 2e 20 20 49 74 mage.is.supposed.to.replace...It
ba80 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 28 70 6f 73 73 69 62 6c 79 0a 64 69 66 66 65 .should.return.a.(possibly.diffe
baa0 72 65 6e 74 29 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 74 6f 72 20 70 72 6f 70 65 72 74 79 20 rent).image.descriptor.property.
bac0 6c 69 73 74 20 6f 72 20 61 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 73 74 72 69 6e 67 20 74 6f 20 list.or.a.replacement.string.to.
bae0 75 73 65 0a 69 6e 73 74 65 61 64 20 6f 66 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 62 use.instead.of.of.the.original.b
bb00 75 66 66 65 72 20 74 65 78 74 2e 0a 0a 52 65 74 75 72 6e 69 6e 67 20 6e 69 6c 20 69 73 20 74 68 uffer.text...Returning.nil.is.th
bb20 65 20 73 61 6d 65 20 61 73 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 6f 72 69 67 69 6e 61 6c e.same.as.returning.the.original
bb40 20 74 65 78 74 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 6f 75 .text."...:type.'boolean...:grou
bb60 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d p.'htmlize)..(defcustom.htmlize-
bb80 67 65 6e 65 72 61 74 65 2d 68 79 70 65 72 6c 69 6e 6b 73 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 6c generate-hyperlinks.t..."Non-nil
bba0 20 6d 65 61 6e 73 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 20 74 68 65 20 6c 69 6e 6b 73 20 66 .means.auto-generate.the.links.f
bbc0 72 6f 6d 20 55 52 4c 73 20 61 6e 64 20 6d 61 69 6c 20 61 64 64 72 65 73 73 65 73 20 69 6e 20 62 rom.URLs.and.mail.addresses.in.b
bbe0 75 66 66 65 72 2e 0a 0a 54 68 69 73 20 69 73 20 6f 6e 20 62 79 20 64 65 66 61 75 6c 74 3b 20 73 uffer...This.is.on.by.default;.s
bc00 65 74 20 69 74 20 74 6f 20 6e 69 6c 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 68 et.it.to.nil.if.you.don't.want.h
bc20 74 6d 6c 69 7a 65 20 74 6f 0a 61 75 74 6f 67 65 6e 65 72 61 74 65 20 73 75 63 68 20 6c 69 6e 6b tmlize.to.autogenerate.such.link
bc40 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 6f 6e 6c 79 20 74 s...Note.that.this.option.only.t
bc60 75 72 6e 73 20 6f 66 66 20 61 75 74 6f 6d 61 74 69 63 0a 73 65 61 72 63 68 20 66 6f 72 20 63 6f urns.off.automatic.search.for.co
bc80 6e 74 65 6e 74 73 20 74 68 61 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 55 52 4c 73 20 61 6e 64 20 ntents.that.looks.like.URLs.and.
bca0 63 6f 6e 76 65 72 74 69 6e 67 20 74 68 65 6d 20 74 6f 20 6c 69 6e 6b 73 2e 0a 49 74 20 68 61 73 converting.them.to.links..It.has
bcc0 20 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 77 68 65 74 68 65 72 20 68 74 6d 6c 69 7a 65 20 72 65 .no.effect.on.whether.htmlize.re
bce0 73 70 65 63 74 73 20 74 68 65 20 60 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 27 20 70 72 6f 70 65 72 spects.the.`htmlize-link'.proper
bd00 74 79 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 6f 75 70 20 27 ty."...:type.'boolean...:group.'
bd20 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 79 70 htmlize)..(defcustom.htmlize-hyp
bd40 65 72 6c 69 6e 6b 2d 73 74 79 6c 65 20 22 0a 20 20 20 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 erlink-style.".......a.{........
bd60 20 63 6f 6c 6f 72 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f .color:.inherit;.........backgro
bd80 75 6e 64 2d 63 6f 6c 6f 72 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 und-color:.inherit;.........font
bda0 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 :.inherit;.........text-decorati
bdc0 6f 6e 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 3a 68 6f 76 on:.inherit;.......}.......a:hov
bde0 65 72 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 75 6e er.{.........text-decoration:.un
be00 64 65 72 6c 69 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 22 0a 20 20 22 54 68 65 20 43 53 53 20 73 74 derline;.......}."..."The.CSS.st
be20 79 6c 65 20 75 73 65 64 20 66 6f 72 20 68 79 70 65 72 6c 69 6e 6b 73 20 77 68 65 6e 20 69 6e 20 yle.used.for.hyperlinks.when.in.
be40 43 53 53 20 6d 6f 64 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 CSS.mode."...:type.'string...:gr
be60 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a oup.'htmlize)..(defcustom.htmliz
be80 65 2d 72 65 70 6c 61 63 65 2d 66 6f 72 6d 2d 66 65 65 64 73 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 e-replace-form-feeds.t..."Non-ni
bea0 6c 20 6d 65 61 6e 73 20 72 65 70 6c 61 63 65 20 66 6f 72 6d 20 66 65 65 64 73 20 69 6e 20 73 6f l.means.replace.form.feeds.in.so
bec0 75 72 63 65 20 63 6f 64 65 20 77 69 74 68 20 48 54 4d 4c 20 73 65 70 61 72 61 74 6f 72 73 2e 0a urce.code.with.HTML.separators..
bee0 46 6f 72 6d 20 66 65 65 64 73 20 61 72 65 20 74 68 65 20 5e 4c 20 63 68 61 72 61 63 74 65 72 73 Form.feeds.are.the.^L.characters
bf00 20 61 74 20 6c 69 6e 65 20 62 65 67 69 6e 6e 69 6e 67 73 20 74 68 61 74 20 61 72 65 20 73 6f 6d .at.line.beginnings.that.are.som
bf20 65 74 69 6d 65 73 0a 75 73 65 64 20 74 6f 20 73 65 70 61 72 61 74 65 20 73 65 63 74 69 6f 6e 73 etimes.used.to.separate.sections
bf40 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 49 66 20 74 68 69 73 20 76 61 72 69 61 62 .of.source.code...If.this.variab
bf60 6c 65 20 69 73 20 73 65 74 20 74 6f 0a 60 74 27 2c 20 66 6f 72 6d 20 66 65 65 64 20 63 68 61 72 le.is.set.to.`t',.form.feed.char
bf80 61 63 74 65 72 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 3c 68 72 acters.are.replaced.with.the.<hr
bfa0 3e 20 73 65 70 61 72 61 74 6f 72 2e 20 20 49 66 20 74 68 69 73 0a 69 73 20 61 20 73 74 72 69 6e >.separator...If.this.is.a.strin
bfc0 67 2c 20 69 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 g,.it.specifies.the.replacement.
bfe0 74 6f 20 75 73 65 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 70 72 65 3e 20 69 73 0a 74 65 6d 70 to.use...Note.that.<pre>.is.temp
c000 6f 72 61 72 69 6c 79 20 63 6c 6f 73 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 70 61 72 61 orarily.closed.before.the.separa
c020 74 6f 72 20 69 73 20 69 6e 73 65 72 74 65 64 2c 20 73 6f 20 74 68 65 20 64 65 66 61 75 6c 74 0a tor.is.inserted,.so.the.default.
c040 72 65 70 6c 61 63 65 6d 65 6e 74 20 69 73 20 65 66 66 65 63 74 69 76 65 6c 79 20 5c 22 3c 2f 70 replacement.is.effectively.\"</p
c060 72 65 3e 3c 68 72 20 2f 3e 3c 70 72 65 3e 5c 22 2e 20 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 re><hr./><pre>\"...If.you.specif
c080 79 0a 61 6e 6f 74 68 65 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 64 6f 6e 27 74 20 66 6f 72 y.another.replacement,.don't.for
c0a0 67 65 74 20 74 6f 20 63 6c 6f 73 65 20 61 6e 64 20 72 65 6f 70 65 6e 20 74 68 65 20 3c 70 72 65 get.to.close.and.reopen.the.<pre
c0c0 3e 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 20 72 65 6d 61 >.if.you.want.the.output.to.rema
c0e0 69 6e 20 76 61 6c 69 64 20 48 54 4d 4c 2e 0a 0a 49 66 20 79 6f 75 20 6e 65 65 64 20 6d 6f 72 65 in.valid.HTML...If.you.need.more
c100 20 65 6c 61 62 6f 72 61 74 65 20 70 72 6f 63 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 69 73 20 .elaborate.processing,.set.this.
c120 74 6f 20 6e 69 6c 20 61 6e 64 20 75 73 65 0a 68 74 6d 6c 69 7a 65 2d 61 66 74 65 72 2d 68 6f 6f to.nil.and.use.htmlize-after-hoo
c140 6b 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 6f 75 70 20 27 68 k."...:type.'boolean...:group.'h
c160 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c tmlize)..(defcustom.htmlize-html
c180 2d 63 68 61 72 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 68 61 72 73 65 74 20 64 65 63 6c -charset.nil..."The.charset.decl
c1a0 61 72 65 64 20 62 79 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 64 6f 63 75 6d ared.by.the.resulting.HTML.docum
c1c0 65 6e 74 73 2e 0a 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 61 75 73 65 73 20 68 74 6d 6c 69 ents..When.non-nil,.causes.htmli
c1e0 7a 65 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 20 74 68 ze.to.insert.the.following.in.th
c200 65 20 48 45 41 44 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 e.HEAD.section.of.the.generated.
c220 48 54 4d 4c 3a 0a 0a 20 20 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 76 3d 5c 22 43 6f 6e 74 HTML:....<meta.http-equiv=\"Cont
c240 65 6e 74 2d 54 79 70 65 5c 22 20 63 6f 6e 74 65 6e 74 3d 5c 22 74 65 78 74 2f 68 74 6d 6c 3b 20 ent-Type\".content=\"text/html;.
c260 63 68 61 72 73 65 74 3d 43 48 41 52 53 45 54 5c 22 3e 0a 0a 77 68 65 72 65 20 43 48 41 52 53 45 charset=CHARSET\">..where.CHARSE
c280 54 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 79 6f 75 27 76 65 20 73 65 74 20 66 6f 72 20 68 74 T.is.the.value.you've.set.for.ht
c2a0 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 2e 20 20 56 61 6c 69 64 0a 63 68 61 72 73 mlize-html-charset...Valid.chars
c2c0 65 74 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 62 79 20 4d 49 4d 45 20 61 6e 64 20 69 6e 63 6c ets.are.defined.by.MIME.and.incl
c2e0 75 64 65 20 73 74 72 69 6e 67 73 20 6c 69 6b 65 20 5c 22 69 73 6f 2d 38 38 35 39 2d 31 5c 22 2c ude.strings.like.\"iso-8859-1\",
c300 0a 5c 22 69 73 6f 2d 38 38 35 39 2d 31 35 5c 22 2c 20 5c 22 75 74 66 2d 38 5c 22 2c 20 65 74 63 .\"iso-8859-15\",.\"utf-8\",.etc
c320 2e 0a 0a 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 6e 6f 6e 2d 4c 61 74 69 6e 2d 31 20 ...If.you.are.using.non-Latin-1.
c340 63 68 61 72 73 65 74 73 2c 20 79 6f 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74 6f 20 73 65 74 20 charsets,.you.might.need.to.set.
c360 74 68 69 73 20 66 6f 72 0a 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 73 20 74 6f 20 72 65 6e 64 65 this.for.your.documents.to.rende
c380 72 20 63 6f 72 72 65 63 74 6c 79 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 57 33 43 20 76 61 6c 69 r.correctly...Also,.the.W3C.vali
c3a0 64 61 74 6f 72 20 72 65 71 75 69 72 65 73 0a 73 75 62 6d 69 74 74 65 64 20 48 54 4d 4c 20 64 6f dator.requires.submitted.HTML.do
c3c0 63 75 6d 65 6e 74 73 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 63 68 61 72 73 65 74 2e 20 20 53 cuments.to.declare.a.charset...S
c3e0 6f 20 69 66 20 79 6f 75 20 63 61 72 65 20 61 62 6f 75 74 0a 76 61 6c 69 64 61 74 69 6f 6e 2c 20 o.if.you.care.about.validation,.
c400 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 70 72 65 76 65 6e 74 20 74 68 65 20 you.can.use.this.to.prevent.the.
c420 76 61 6c 69 64 61 74 6f 72 20 66 72 6f 6d 20 62 69 74 63 68 69 6e 67 2e 0a 0a 4e 65 65 64 6c 65 validator.from.bitching...Needle
c440 73 73 20 74 6f 20 73 61 79 2c 20 69 66 20 79 6f 75 20 73 65 74 20 74 68 69 73 2c 20 79 6f 75 20 ss.to.say,.if.you.set.this,.you.
c460 73 68 6f 75 6c 64 20 61 63 74 75 61 6c 6c 79 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 74 should.actually.make.sure.that.t
c480 68 65 20 62 75 66 66 65 72 20 69 73 20 69 6e 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 79 6f 75 he.buffer.is.in.the.encoding.you
c4a0 27 72 65 20 63 6c 61 69 6d 69 6e 67 20 69 74 20 69 73 20 69 6e 2e 20 20 28 54 68 69 73 20 69 73 're.claiming.it.is.in...(This.is
c4c0 0a 6e 6f 72 6d 61 6c 6c 79 20 61 63 68 69 65 76 65 64 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 .normally.achieved.by.using.the.
c4e0 63 6f 72 72 65 63 74 20 66 69 6c 65 20 63 6f 64 69 6e 67 20 73 79 73 74 65 6d 20 66 6f 72 20 74 correct.file.coding.system.for.t
c500 68 65 0a 62 75 66 66 65 72 2e 29 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 75 6e 64 65 72 73 he.buffer.)..If.you.don't.unders
c520 74 61 6e 64 20 77 68 61 74 20 74 68 61 74 20 6d 65 61 6e 73 2c 20 79 6f 75 20 73 68 6f 75 6c 64 tand.what.that.means,.you.should
c540 20 70 72 6f 62 61 62 6c 79 0a 6c 65 61 76 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 69 6e 20 69 .probably.leave.this.option.in.i
c560 74 73 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 ts.default.setting."...:type.'(c
c580 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 55 6e 73 65 74 22 20 6e 69 6c 29 0a 20 hoice.(const.:tag."Unset".nil)..
c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 29 0a 20 20 3a 67 72 6f 75 70 ................string)...:group
c5c0 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 63 .'htmlize)..(defcustom.htmlize-c
c5e0 6f 6e 76 65 72 74 2d 6e 6f 6e 61 73 63 69 69 2d 74 6f 2d 65 6e 74 69 74 69 65 73 20 74 0a 20 20 onvert-nonascii-to-entities.t...
c600 22 57 68 65 74 68 65 72 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 73 68 "Whether.non-ASCII.characters.sh
c620 6f 75 6c 64 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 48 54 4d 4c 20 65 6e 74 69 74 69 ould.be.converted.to.HTML.entiti
c640 65 73 2e 0a 0a 57 68 65 6e 20 74 68 69 73 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 68 61 72 61 es...When.this.is.non-nil,.chara
c660 63 74 65 72 73 20 77 69 74 68 20 63 6f 64 65 73 20 69 6e 20 74 68 65 20 31 32 38 2d 32 35 35 20 cters.with.codes.in.the.128-255.
c680 72 61 6e 67 65 20 77 69 6c 6c 20 62 65 0a 63 6f 6e 73 69 64 65 72 65 64 20 4c 61 74 69 6e 20 31 range.will.be.considered.Latin.1
c6a0 20 61 6e 64 20 72 65 77 72 69 74 74 65 6e 20 61 73 20 5c 22 26 23 43 4f 44 45 3b 5c 22 2e 20 20 .and.rewritten.as.\"&#CODE;\"...
c6c0 43 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 63 6f 64 65 73 0a 61 62 6f 76 65 20 32 35 35 20 Characters.with.codes.above.255.
c6e0 77 69 6c 6c 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 5c 22 26 23 55 43 53 3b 5c 22 2c will.be.converted.to.\"&#UCS;\",
c700 20 77 68 65 72 65 20 55 43 53 20 64 65 6e 6f 74 65 73 20 74 68 65 20 55 6e 69 63 6f 64 65 0a 63 .where.UCS.denotes.the.Unicode.c
c720 6f 64 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 66 20 ode.point.of.the.character...If.
c740 74 68 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 the.code.point.cannot.be.determi
c760 6e 65 64 2c 0a 74 68 65 20 63 68 61 72 61 63 74 65 72 20 77 69 6c 6c 20 62 65 20 63 6f 70 69 65 ned,.the.character.will.be.copie
c780 64 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 73 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 d.unchanged,.as.would.be.the.cas
c7a0 65 20 69 66 20 74 68 65 0a 6f 70 74 69 6f 6e 20 77 65 72 65 20 6e 69 6c 2e 0a 0a 57 68 65 6e 20 e.if.the.option.were.nil...When.
c7c0 74 68 65 20 6f 70 74 69 6f 6e 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 6e 6f 6e 2d 41 53 43 49 49 the.option.is.nil,.the.non-ASCII
c7e0 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 63 6f 70 69 65 64 20 74 6f 20 48 54 4d 4c 0a 77 .characters.are.copied.to.HTML.w
c800 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2e 20 20 49 6e 20 74 68 61 74 20 63 61 ithout.modification...In.that.ca
c820 73 65 2c 20 74 68 65 20 77 65 62 20 73 65 72 76 65 72 20 61 6e 64 2f 6f 72 20 74 68 65 20 62 72 se,.the.web.server.and/or.the.br
c840 6f 77 73 65 72 0a 6d 75 73 74 20 62 65 20 73 65 74 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 owser.must.be.set.to.understand.
c860 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 74 68 61 74 20 77 61 73 20 75 73 65 64 20 77 68 65 6e 20 the.encoding.that.was.used.when.
c880 73 61 76 69 6e 67 20 74 68 65 0a 62 75 66 66 65 72 2e 20 20 28 59 6f 75 20 6d 69 67 68 74 20 61 saving.the.buffer...(You.might.a
c8a0 6c 73 6f 20 77 61 6e 74 20 74 6f 20 73 70 65 63 69 66 79 20 69 74 20 62 79 20 73 65 74 74 69 6e lso.want.to.specify.it.by.settin
c8c0 67 0a 60 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 27 2e 29 0a 0a 4e 6f 74 65 g.`htmlize-html-charset'.)..Note
c8e0 20 74 68 61 74 20 69 6e 20 61 6e 20 48 54 4d 4c 20 65 6e 74 69 74 79 20 5c 22 26 23 43 4f 44 45 .that.in.an.HTML.entity.\"&#CODE
c900 3b 5c 22 2c 20 43 4f 44 45 20 69 73 20 61 6c 77 61 79 73 20 61 20 55 43 53 20 63 6f 64 65 20 70 ;\",.CODE.is.always.a.UCS.code.p
c920 6f 69 6e 74 2c 0a 77 68 69 63 68 20 68 61 73 20 6e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 20 77 69 oint,.which.has.nothing.to.do.wi
c940 74 68 20 74 68 65 20 63 68 61 72 73 65 74 20 74 68 65 20 70 61 67 65 20 69 73 20 69 6e 2e 20 20 th.the.charset.the.page.is.in...
c960 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 5c 22 26 23 31 36 39 3b 5c 22 20 2a 61 6c 77 61 79 73 2a For.example,.\"&#169;\".*always*
c980 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 73 79 6d 62 6f 6c 2c .refers.to.the.copyright.symbol,
c9a0 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 63 68 61 72 73 65 74 0a 73 70 65 63 69 66 69 65 64 .regardless.of.charset.specified
c9c0 20 62 79 20 74 68 65 20 4d 45 54 41 20 74 61 67 20 6f 72 20 74 68 65 20 63 68 61 72 73 65 74 20 .by.the.META.tag.or.the.charset.
c9e0 73 65 6e 74 20 62 79 20 74 68 65 20 48 54 54 50 20 73 65 72 76 65 72 2e 20 20 49 6e 0a 6f 74 68 sent.by.the.HTTP.server...In.oth
ca00 65 72 20 77 6f 72 64 73 2c 20 5c 22 26 23 31 36 39 3b 5c 22 20 69 73 20 65 78 61 63 74 6c 79 20 er.words,.\"&#169;\".is.exactly.
ca20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 5c 22 26 63 6f 70 79 3b 5c 22 2e 0a 0a 46 6f 72 20 6d equivalent.to.\"&copy;\"...For.m
ca40 6f 73 74 20 70 65 6f 70 6c 65 20 68 74 6d 6c 69 7a 65 20 77 69 6c 6c 20 77 6f 72 6b 20 66 69 6e ost.people.htmlize.will.work.fin
ca60 65 20 77 69 74 68 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 6c 65 66 74 20 61 74 20 74 68 65 0a 64 e.with.this.option.left.at.the.d
ca80 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 3b 20 64 6f 6e 27 74 20 63 68 61 6e 67 65 20 69 74 20 efault.setting;.don't.change.it.
caa0 75 6e 6c 65 73 73 20 79 6f 75 20 6b 6e 6f 77 20 77 68 61 74 20 79 6f 75 27 72 65 20 64 6f 69 6e unless.you.know.what.you're.doin
cac0 67 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 68 74 6d 6c g."...:type.'sexp...:group.'html
cae0 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 69 67 6e 6f 72 65 2d ize)..(defcustom.htmlize-ignore-
cb00 66 61 63 65 2d 73 69 7a 65 20 27 61 62 73 6f 6c 75 74 65 0a 20 20 22 57 68 65 74 68 65 72 20 66 face-size.'absolute..."Whether.f
cb20 61 63 65 20 73 69 7a 65 20 73 68 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 20 77 68 65 6e 20 ace.size.should.be.ignored.when.
cb40 67 65 6e 65 72 61 74 69 6e 67 20 48 54 4d 4c 2e 0a 49 66 20 74 68 69 73 20 69 73 20 6e 69 6c 2c generating.HTML..If.this.is.nil,
cb60 20 66 61 63 65 20 73 69 7a 65 73 20 61 72 65 20 75 73 65 64 2e 20 20 49 66 20 73 65 74 20 74 6f .face.sizes.are.used...If.set.to
cb80 20 74 2c 20 73 69 7a 65 73 20 61 72 65 20 69 67 6e 6f 72 65 64 0a 49 66 20 73 65 74 20 74 6f 20 .t,.sizes.are.ignored.If.set.to.
cba0 60 61 62 73 6f 6c 75 74 65 27 2c 20 6f 6e 6c 79 20 61 62 73 6f 6c 75 74 65 20 73 69 7a 65 20 73 `absolute',.only.absolute.size.s
cbc0 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 50 6c 65 61 73 pecifications.are.ignored..Pleas
cbe0 65 20 6e 6f 74 65 20 74 68 61 74 20 66 6f 6e 74 20 73 69 7a 65 73 20 6f 6e 6c 79 20 77 6f 72 6b e.note.that.font.sizes.only.work
cc00 20 77 69 74 68 20 43 53 53 2d 62 61 73 65 64 20 6f 75 74 70 75 74 20 74 79 70 65 73 2e 22 0a 20 .with.CSS-based.output.types."..
cc20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 6f 6e .:type.'(choice.(const.:tag."Don
cc40 27 74 20 69 67 6e 6f 72 65 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 't.ignore".nil).................
cc60 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 67 6e 6f 72 65 20 61 6c 6c 22 20 74 29 0a 20 20 20 .(const.:tag."Ignore.all".t)....
cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 67 6e 6f 72 ..............(const.:tag."Ignor
cca0 65 20 61 62 73 6f 6c 75 74 65 22 20 61 62 73 6f 6c 75 74 65 29 29 0a 20 20 3a 67 72 6f 75 70 20 e.absolute".absolute))...:group.
ccc0 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 63 73 'htmlize)..(defcustom.htmlize-cs
cce0 73 2d 6e 61 6d 65 2d 70 72 65 66 69 78 20 22 22 0a 20 20 22 54 68 65 20 70 72 65 66 69 78 20 75 s-name-prefix.""..."The.prefix.u
cd00 73 65 64 20 66 6f 72 20 43 53 53 20 6e 61 6d 65 73 2e 0a 54 68 65 20 43 53 53 20 6e 61 6d 65 73 sed.for.CSS.names..The.CSS.names
cd20 20 74 68 61 74 20 68 74 6d 6c 69 7a 65 20 67 65 6e 65 72 61 74 65 73 20 66 72 6f 6d 20 66 61 63 .that.htmlize.generates.from.fac
cd40 65 20 6e 61 6d 65 73 20 61 72 65 20 6f 66 74 65 6e 20 74 6f 6f 0a 67 65 6e 65 72 69 63 20 66 6f e.names.are.often.too.generic.fo
cd60 72 20 43 53 53 20 66 69 6c 65 73 3b 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 60 66 6f 6e 74 2d r.CSS.files;.for.example,.`font-
cd80 6c 6f 63 6b 2d 74 79 70 65 2d 66 61 63 65 27 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 0a 74 lock-type-face'.is.transformed.t
cda0 6f 20 60 74 79 70 65 27 2e 20 20 55 73 65 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 74 6f 20 o.`type'...Use.this.variable.to.
cdc0 61 64 64 20 61 20 70 72 65 66 69 78 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 6e 61 add.a.prefix.to.the.generated.na
cde0 6d 65 73 2e 0a 54 68 65 20 73 74 72 69 6e 67 20 5c 22 68 74 6d 6c 69 7a 65 2d 5c 22 20 69 73 20 mes..The.string.\"htmlize-\".is.
ce00 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 20 72 65 61 73 6f 6e 61 62 6c 65 20 70 72 65 66 69 an.example.of.a.reasonable.prefi
ce20 78 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 68 74 x."...:type.'string...:group.'ht
ce40 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 72 mlize)..(defcustom.htmlize-use-r
ce60 67 62 2d 74 78 74 20 74 0a 20 20 22 57 68 65 74 68 65 72 20 60 72 67 62 2e 74 78 74 27 20 73 68 gb-txt.t..."Whether.`rgb.txt'.sh
ce80 6f 75 6c 64 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 63 6f 6c 6f 72 20 6e 61 ould.be.used.to.convert.color.na
cea0 6d 65 73 20 74 6f 20 52 47 42 2e 0a 0a 54 68 69 73 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6d 65 61 mes.to.RGB...This.conversion.mea
cec0 6e 73 20 64 65 74 65 72 6d 69 6e 69 6e 67 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 68 ns.determining,.for.instance,.th
cee0 61 74 20 74 68 65 20 63 6f 6c 6f 72 0a 5c 22 49 6e 64 69 61 6e 52 65 64 5c 22 20 63 6f 72 72 65 at.the.color.\"IndianRed\".corre
cf00 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 28 32 30 35 2c 20 39 32 2c 20 39 32 29 20 52 47 42 20 sponds.to.the.(205,.92,.92).RGB.
cf20 74 72 69 70 6c 65 2e 20 20 60 72 67 62 2e 74 78 74 27 0a 69 73 20 74 68 65 20 58 20 63 6f 6c 6f triple...`rgb.txt'.is.the.X.colo
cf40 72 20 64 61 74 61 62 61 73 65 20 74 68 61 74 20 6d 61 70 73 20 68 75 6e 64 72 65 64 73 20 6f 66 r.database.that.maps.hundreds.of
cf60 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 20 74 6f 20 73 75 63 68 20 52 47 42 0a 74 72 69 70 6c 65 73 .color.names.to.such.RGB.triples
cf80 2e 20 20 57 68 65 6e 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 6e 2d 6e 69 6c ...When.this.variable.is.non-nil
cfa0 2c 20 60 68 74 6d 6c 69 7a 65 27 20 75 73 65 73 20 60 72 67 62 2e 74 78 74 27 20 74 6f 0a 6c 6f ,.`htmlize'.uses.`rgb.txt'.to.lo
cfc0 6f 6b 20 75 70 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 2e 0a 0a 49 66 20 74 68 69 73 20 76 61 72 69 ok.up.color.names...If.this.vari
cfe0 61 62 6c 65 20 69 73 20 6e 69 6c 2c 20 68 74 6d 6c 69 7a 65 20 71 75 65 72 69 65 73 20 45 6d 61 able.is.nil,.htmlize.queries.Ema
d000 63 73 20 66 6f 72 20 52 47 42 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 0a 63 6f 6c 6f 72 73 20 cs.for.RGB.components.of.colors.
d020 75 73 69 6e 67 20 60 63 6f 6c 6f 72 2d 69 6e 73 74 61 6e 63 65 2d 72 67 62 2d 63 6f 6d 70 6f 6e using.`color-instance-rgb-compon
d040 65 6e 74 73 27 20 61 6e 64 20 60 63 6f 6c 6f 72 2d 76 61 6c 75 65 73 27 2e 0a 54 68 69 73 20 63 ents'.and.`color-values'..This.c
d060 61 6e 20 79 69 65 6c 64 20 69 6e 63 6f 72 72 65 63 74 20 72 65 73 75 6c 74 73 20 6f 6e 20 6e 6f an.yield.incorrect.results.on.no
d080 6e 2d 74 72 75 65 2d 63 6f 6c 6f 72 20 64 69 73 70 6c 61 79 73 2e 0a 0a 49 66 20 74 68 65 20 60 n-true-color.displays...If.the.`
d0a0 72 67 62 2e 74 78 74 27 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 28 77 68 69 63 rgb.txt'.file.is.not.found.(whic
d0c0 68 20 77 69 6c 6c 20 62 65 20 74 68 65 20 63 61 73 65 20 69 66 20 79 6f 75 27 72 65 0a 72 75 6e h.will.be.the.case.if.you're.run
d0e0 6e 69 6e 67 20 45 6d 61 63 73 20 6f 6e 20 6e 6f 6e 2d 58 31 31 20 73 79 73 74 65 6d 73 29 2c 20 ning.Emacs.on.non-X11.systems),.
d100 74 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 69 67 6e 6f 72 65 64 2e 22 0a 20 20 3a 74 79 70 65 this.option.is.ignored."...:type
d120 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 .'boolean...:group.'htmlize)..(d
d140 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 6f 76 65 72 72 69 64 65 73 20 6e 69 6c efvar.htmlize-face-overrides.nil
d160 0a 20 20 22 4f 76 65 72 72 69 64 65 73 20 66 6f 72 20 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f ..."Overrides.for.face.definitio
d180 6e 73 2e 0a 0a 4e 6f 72 6d 61 6c 6c 79 20 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 ns...Normally.face.definitions.a
d1a0 72 65 20 74 61 6b 65 6e 20 66 72 6f 6d 20 45 6d 61 63 73 20 73 65 74 74 69 6e 67 73 20 66 6f 72 re.taken.from.Emacs.settings.for
d1c0 20 66 6f 6e 74 73 0a 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 72 61 6d 65 2e 20 20 46 6f .fonts.in.the.current.frame...Fo
d1e0 72 20 66 61 63 65 73 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 69 73 20 70 6c 69 73 74 2c 20 74 r.faces.present.in.this.plist,.t
d200 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 69 6e 73 74 he.definitions.will.be.used.inst
d220 65 61 64 2e 20 20 4b 65 79 73 20 69 6e 20 74 68 65 20 70 6c 69 73 74 20 61 72 65 20 73 79 6d 62 ead...Keys.in.the.plist.are.symb
d240 6f 6c 73 0a 6e 61 6d 69 6e 67 20 74 68 65 20 66 61 63 65 20 61 6e 64 20 76 61 6c 75 65 73 20 61 ols.naming.the.face.and.values.a
d260 72 65 20 74 68 65 20 6f 76 65 72 72 69 64 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 20 20 re.the.overriding.definitions...
d280 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 73 65 74 71 20 68 74 6d 6c 69 7a 65 2d 66 61 For.example:....(setq.htmlize-fa
d2a0 63 65 2d 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 5c 5c 3d 27 28 66 6f 6e 74 2d 6c ce-overrides.........\\='(font-l
d2c0 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 20 5c 22 62 6c 61 63 6b 5c 22 0a 20 20 20 20 20 ock-warning-face.\"black\"......
d2e0 20 20 20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 .....font-lock-function-name-fac
d300 65 20 5c 22 72 65 64 5c 22 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f e.\"red\"...........font-lock-co
d320 6d 6d 65 6e 74 2d 66 61 63 65 20 5c 22 62 6c 75 65 5c 22 0a 20 20 20 20 20 20 20 20 20 20 64 65 mment-face.\"blue\"...........de
d340 66 61 75 6c 74 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 5c 22 64 61 72 6b 2d 67 72 65 65 6e 5c fault.(:foreground.\"dark-green\
d360 22 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 5c 22 79 65 6c 6c 6f 77 5c 22 29 29 29 0a 0a 54 68 69 ".:background.\"yellow\")))..Thi
d380 73 20 76 61 72 69 61 62 6c 65 20 63 61 6e 20 62 65 20 61 6c 73 6f 20 62 65 20 60 6c 65 74 27 20 s.variable.can.be.also.be.`let'.
d3a0 62 6f 75 6e 64 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 bound.when.running.`htmlize-buff
d3c0 65 72 27 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 er'.")..(defcustom.htmlize-untab
d3e0 69 66 79 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 75 6e 74 61 62 69 66 79 20 ify.t..."Non-nil.means.untabify.
d400 62 75 66 66 65 72 20 63 6f 6e 74 65 6e 74 73 20 64 75 72 69 6e 67 20 68 74 6d 6c 69 7a 61 74 69 buffer.contents.during.htmlizati
d420 6f 6e 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 6f 75 70 20 27 on."...:type.'boolean...:group.'
d440 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 74 6d htmlize)..(defcustom.htmlize-htm
d460 6c 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 6f 64 65 20 74 68 65 l-major-mode.nil..."The.mode.the
d480 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 48 54 4d 4c 20 62 75 66 66 65 72 20 77 69 6c 6c 20 .newly.created.HTML.buffer.will.
d4a0 62 65 20 70 75 74 20 69 6e 2e 0a 53 65 74 20 74 68 69 73 20 74 6f 20 6e 69 6c 20 69 66 20 79 6f be.put.in..Set.this.to.nil.if.yo
d4c0 75 20 70 72 65 66 65 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 28 66 75 6e 64 61 6d 65 6e 74 61 u.prefer.the.default.(fundamenta
d4e0 6c 29 20 6d 6f 64 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 72 61 64 69 6f 20 28 63 6f 6e 73 74 l).mode."...:type.'(radio.(const
d500 20 3a 74 61 67 20 22 4e 6f 20 6d 6f 64 65 20 28 66 75 6e 64 61 6d 65 6e 74 61 6c 29 22 20 6e 69 .:tag."No.mode.(fundamental)".ni
d520 6c 29 0a 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 69 74 65 l).................(function-ite
d540 6d 20 68 74 6d 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 m.html-mode).................(fu
d560 6e 63 74 69 6f 6e 20 3a 74 61 67 20 22 55 73 65 72 2d 64 65 66 69 6e 65 64 20 6d 61 6a 6f 72 20 nction.:tag."User-defined.major.
d580 6d 6f 64 65 22 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 mode"))...:group.'htmlize)..(def
d5a0 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 70 72 65 2d 73 74 79 6c 65 20 6e 69 6c 0a 20 20 22 custom.htmlize-pre-style.nil..."
d5c0 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 60 3c 70 72 65 3e 27 20 74 61 67 73 20 77 69 6c 6c 20 When.non-nil,.`<pre>'.tags.will.
d5e0 62 65 20 64 65 63 6f 72 61 74 65 64 20 77 69 74 68 20 73 74 79 6c 65 0a 69 6e 66 6f 72 6d 61 74 be.decorated.with.style.informat
d600 69 6f 6e 20 69 6e 20 60 66 6f 6e 74 27 20 61 6e 64 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 6d ion.in.`font'.and.`inline-css'.m
d620 6f 64 65 73 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 0a 63 6f 6e 73 69 73 74 65 6e 74 20 62 odes..This.allows.a.consistent.b
d640 61 63 6b 67 72 6f 75 6e 64 20 66 6f 72 20 63 61 70 74 75 72 65 73 20 6f 66 20 72 65 67 69 6f 6e ackground.for.captures.of.region
d660 73 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 6f 75 70 20 27 68 s."...:type.'boolean...:group.'h
d680 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 62 65 66 6f 72 65 2d tmlize)..(defvar.htmlize-before-
d6a0 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 62 65 66 6f 72 65 20 68 74 6d 6c hook.nil..."Hook.run.before.html
d6c0 69 7a 69 6e 67 20 61 20 62 75 66 66 65 72 2e 0a 54 68 65 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f izing.a.buffer..The.hook.functio
d6e0 6e 73 20 61 72 65 20 72 75 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 20 ns.are.run.in.the.source.buffer.
d700 28 6e 6f 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 0a 62 75 66 66 65 72 29 2e (not.the.resulting.HTML.buffer).
d720 22 29 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 61 66 74 65 72 2d 68 6f 6f 6b 20 6e ")..(defvar.htmlize-after-hook.n
d740 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 61 66 74 65 72 20 68 74 6d 6c 69 7a 69 6e 67 20 61 il..."Hook.run.after.htmlizing.a
d760 20 62 75 66 66 65 72 2e 0a 55 6e 6c 69 6b 65 20 60 68 74 6d 6c 69 7a 65 2d 62 65 66 6f 72 65 2d .buffer..Unlike.`htmlize-before-
d780 68 6f 6f 6b 27 2c 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 72 75 6e 20 69 hook',.these.functions.are.run.i
d7a0 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 0a 48 54 4d 4c 20 62 75 66 66 65 72 2e 20 20 59 6f n.the.generated.HTML.buffer...Yo
d7c0 75 20 6d 61 79 20 75 73 65 20 74 68 65 6d 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 6f 75 74 u.may.use.them.to.modify.the.out
d7e0 6c 6f 6f 6b 20 6f 66 20 74 68 65 20 66 69 6e 61 6c 20 48 54 4d 4c 0a 6f 75 74 70 75 74 2e 22 29 look.of.the.final.HTML.output.")
d800 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 2d 68 6f 6f 6b 20 6e 69 6c 0a ..(defvar.htmlize-file-hook.nil.
d820 20 20 22 48 6f 6f 6b 20 72 75 6e 20 62 79 20 60 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 27 20 61 66 .."Hook.run.by.`htmlize-file'.af
d840 74 65 72 20 68 74 6d 6c 69 7a 69 6e 67 20 61 20 66 69 6c 65 2c 20 62 75 74 20 62 65 66 6f 72 65 ter.htmlizing.a.file,.but.before
d860 20 73 61 76 69 6e 67 20 69 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 62 .saving.it.")..(defvar.htmlize-b
d880 75 66 66 65 72 2d 70 6c 61 63 65 73 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 74 6d 6c 69 7a 65 uffer-places)..(defconst.htmlize
d8a0 2d 69 6d 61 67 65 2d 6d 69 6d 65 2d 74 79 70 65 2d 61 6c 69 73 74 0a 20 20 27 28 28 73 76 67 20 -image-mime-type-alist...'((svg.
d8c0 2e 20 22 73 76 67 2b 78 6d 6c 22 29 29 0a 20 20 22 41 6c 69 73 74 20 6d 61 70 70 69 6e 67 20 45 .."svg+xml"))..."Alist.mapping.E
d8e0 6d 61 63 73 20 69 6d 61 67 65 20 74 79 70 65 73 20 74 6f 20 4d 69 6d 65 20 6d 65 64 69 61 20 74 macs.image.types.to.Mime.media.t
d900 79 70 65 73 2e 0a 68 74 74 70 73 3a 2f 2f 77 77 77 2e 69 61 6e 61 2e 6f 72 67 2f 61 73 73 69 67 ypes..https://www.iana.org/assig
d920 6e 6d 65 6e 74 73 2f 6d 65 64 69 61 2d 74 79 70 65 73 2f 6d 65 64 69 61 2d 74 79 70 65 73 2e 78 nments/media-types/media-types.x
d940 68 74 6d 6c 23 69 6d 61 67 65 22 29 0a 0a 0c 0a 3b 3b 3b 20 53 6f 6d 65 20 63 72 6f 73 73 2d 45 html#image")....;;;.Some.cross-E
d960 6d 61 63 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a 3b 3b 20 57 65 20 6e 65 65 64 20 macs.compatibility...;;.We.need.
d980 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 65 66 66 69 63 69 65 6e 74 6c 79 20 66 69 6e 64 a.function.that.efficiently.find
d9a0 73 20 74 68 65 20 6e 65 78 74 20 63 68 61 6e 67 65 20 6f 66 20 61 0a 3b 3b 20 70 72 6f 70 65 72 s.the.next.change.of.a.;;.proper
d9c0 74 79 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 63 68 61 ty.regardless.of.whether.the.cha
d9e0 6e 67 65 20 6f 63 63 75 72 72 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 61 0a 3b 3b 20 74 65 78 nge.occurred.because.of.a.;;.tex
da00 74 20 70 72 6f 70 65 72 74 79 20 6f 72 20 61 6e 20 65 78 74 65 6e 74 2f 6f 76 65 72 6c 61 79 2e t.property.or.an.extent/overlay.
da20 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 70 6f 73 .(defun.htmlize-next-change.(pos
da40 20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6d 69 74 29 0a 20 20 28 69 66 20 70 72 6f .prop.&optional.limit)...(if.pro
da60 70 0a 20 20 20 20 20 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 63 68 61 72 2d 70 72 6f 70 65 72 p.......(next-single-char-proper
da80 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 70 72 6f 70 20 6e 69 6c 20 6c 69 6d 69 74 29 0a 20 20 ty-change.pos.prop.nil.limit)...
daa0 20 20 28 6e 65 78 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 ..(next-char-property-change.pos
dac0 20 6c 69 6d 69 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6f 76 65 72 6c 61 .limit)))..(defun.htmlize-overla
dae0 79 2d 66 61 63 65 73 2d 61 74 20 28 70 6f 73 29 0a 20 20 28 64 65 6c 71 20 6e 69 6c 20 28 6d 61 y-faces-at.(pos)...(delq.nil.(ma
db00 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6f 29 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 20 pcar.(lambda.(o).(overlay-get.o.
db20 27 66 61 63 65 29 29 20 28 6f 76 65 72 6c 61 79 73 2d 61 74 20 70 6f 73 29 29 29 29 0a 0a 28 64 'face)).(overlays-at.pos))))..(d
db40 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 66 61 63 65 2d 63 68 61 6e 67 65 20 28 70 efun.htmlize-next-face-change.(p
db60 6f 73 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6d 69 74 29 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 7a os.&optional.limit)...;;.(htmliz
db80 65 2d 6e 65 78 74 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 66 61 63 65 20 6c 69 6d 69 74 29 20 77 e-next-change.pos.'face.limit).w
dba0 6f 75 6c 64 20 73 6b 69 70 20 6f 76 65 72 20 65 6e 74 69 72 65 0a 20 20 3b 3b 20 6f 76 65 72 6c ould.skip.over.entire...;;.overl
dbc0 61 79 73 20 74 68 61 74 20 73 70 65 63 69 66 79 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 ays.that.specify.the.`face'.prop
dbe0 65 72 74 79 2c 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 79 0a 20 20 3b 3b 20 63 6f 6e 74 61 69 erty,.even.when.they...;;.contai
dc00 6e 20 73 6d 61 6c 6c 65 72 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 61 74 20 61 n.smaller.text.properties.that.a
dc20 6c 73 6f 20 73 70 65 63 69 66 79 20 60 66 61 63 65 27 2e 0a 20 20 3b 3b 20 45 6d 61 63 73 20 64 lso.specify.`face'....;;.Emacs.d
dc40 69 73 70 6c 61 79 20 65 6e 67 69 6e 65 20 6d 65 72 67 65 73 20 74 68 6f 73 65 20 66 61 63 65 73 isplay.engine.merges.those.faces
dc60 2c 20 61 6e 64 20 73 6f 20 6d 75 73 74 20 77 65 2e 0a 20 20 28 75 6e 6c 65 73 73 20 6c 69 6d 69 ,.and.so.must.we....(unless.limi
dc80 74 0a 20 20 20 20 28 73 65 74 71 20 6c 69 6d 69 74 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a t.....(setq.limit.(point-max))).
dca0 20 20 28 6c 65 74 20 28 28 6e 65 78 74 2d 70 72 6f 70 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d ..(let.((next-prop.(next-single-
dcc0 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 66 61 63 65 20 6e 69 6c 20 6c 69 property-change.pos.'face.nil.li
dce0 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 66 61 63 65 73 20 28 68 74 mit)).........(overlay-faces.(ht
dd00 6d 6c 69 7a 65 2d 6f 76 65 72 6c 61 79 2d 66 61 63 65 73 2d 61 74 20 70 6f 73 29 29 29 0a 20 20 mlize-overlay-faces-at.pos)))...
dd20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 ..(while.(progn..............(se
dd40 74 71 20 70 6f 73 20 28 6e 65 78 74 2d 6f 76 65 72 6c 61 79 2d 63 68 61 6e 67 65 20 70 6f 73 29 tq.pos.(next-overlay-change.pos)
dd60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3c 20 70 6f 73 20 6e 65 78 74 2d )..............(and.(<.pos.next-
dd80 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 6f prop)...................(equal.o
dda0 76 65 72 6c 61 79 2d 66 61 63 65 73 20 28 68 74 6d 6c 69 7a 65 2d 6f 76 65 72 6c 61 79 2d 66 61 verlay-faces.(htmlize-overlay-fa
ddc0 63 65 73 2d 61 74 20 70 6f 73 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6d ces-at.pos))))).....(setq.pos.(m
dde0 69 6e 20 70 6f 73 20 6e 65 78 74 2d 70 72 6f 70 29 29 0a 20 20 20 20 3b 3b 20 41 64 64 69 74 69 in.pos.next-prop)).....;;.Additi
de00 6f 6e 61 6c 6c 79 2c 20 77 65 20 69 6e 63 6c 75 64 65 20 74 68 65 20 65 6e 74 69 72 65 20 72 65 onally,.we.include.the.entire.re
de20 67 69 6f 6e 20 74 68 61 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 0a 20 20 20 20 3b 3b 20 60 gion.that.specifies.the.....;;.`
de40 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 67 65 display'.property......(when.(ge
de60 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 64 69 73 70 6c 61 79 29 0a 20 20 t-char-property.pos.'display)...
de80 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 63 68 61 72 2d ....(setq.pos.(next-single-char-
dea0 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 64 69 73 70 6c 61 79 20 6e 69 6c property-change.pos.'display.nil
dec0 20 6c 69 6d 69 74 29 29 29 0a 20 20 20 20 70 6f 73 29 29 0a 0a 0c 0a 3b 3b 3b 20 54 72 61 6e 73 .limit))).....pos))....;;;.Trans
dee0 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 62 75 66 66 65 72 20 74 65 78 74 3a 20 48 54 4d 4c 20 65 formation.of.buffer.text:.HTML.e
df00 73 63 61 70 65 73 2c 20 75 6e 74 61 62 69 66 69 63 61 74 69 6f 6e 2c 20 65 74 63 2e 0a 0a 28 64 scapes,.untabification,.etc...(d
df20 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 62 61 73 69 63 2d 63 68 61 72 61 63 74 65 72 2d 74 61 efvar.htmlize-basic-character-ta
df40 62 6c 65 0a 20 20 3b 3b 20 4d 61 70 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 30 ble...;;.Map.characters.in.the.0
df60 2d 31 32 37 20 72 61 6e 67 65 20 74 6f 20 65 69 74 68 65 72 20 6f 6e 65 2d 63 68 61 72 61 63 74 -127.range.to.either.one-charact
df80 65 72 20 73 74 72 69 6e 67 73 0a 20 20 3b 3b 20 6f 72 20 74 6f 20 6e 75 6d 65 72 69 63 20 65 6e er.strings...;;.or.to.numeric.en
dfa0 74 69 74 69 65 73 2e 0a 20 20 28 6c 65 74 20 28 28 74 61 62 6c 65 20 28 6d 61 6b 65 2d 76 65 63 tities....(let.((table.(make-vec
dfc0 74 6f 72 20 31 32 38 20 3f 5c 30 29 29 29 0a 20 20 20 20 3b 3b 20 4d 61 70 20 63 68 61 72 61 63 tor.128.?\0))).....;;.Map.charac
dfe0 74 65 72 73 20 69 6e 20 74 68 65 20 33 32 2d 31 32 36 20 72 61 6e 67 65 20 74 6f 20 74 68 65 6d ters.in.the.32-126.range.to.them
e000 73 65 6c 76 65 73 2c 20 6f 74 68 65 72 73 20 74 6f 0a 20 20 20 20 3b 3b 20 26 23 43 4f 44 45 20 selves,.others.to.....;;.&#CODE.
e020 65 6e 74 69 74 69 65 73 3b 0a 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 31 32 38 29 0a 20 entities;.....(dotimes.(i.128)..
e040 20 20 20 20 20 28 73 65 74 66 20 28 61 72 65 66 20 74 61 62 6c 65 20 69 29 20 28 69 66 20 28 61 .....(setf.(aref.table.i).(if.(a
e060 6e 64 20 28 3e 3d 20 69 20 33 32 29 20 28 3c 3d 20 69 20 31 32 36 29 29 0a 20 20 20 20 20 20 20 nd.(>=.i.32).(<=.i.126))........
e080 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 68 61 72 2d 74 6f ........................(char-to
e0a0 2d 73 74 72 69 6e 67 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -string.i)......................
e0c0 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 26 23 25 64 3b 22 20 69 29 29 29 29 0a 20 20 ........(format."&#%d;".i))))...
e0e0 20 20 3b 3b 20 53 65 74 20 65 78 63 65 70 74 69 6f 6e 73 20 6d 61 6e 75 61 6c 6c 79 2e 0a 20 20 ..;;.Set.exceptions.manually....
e100 20 20 28 73 65 74 66 0a 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 65 73 63 61 70 65 20 6e 65 77 ..(setf......;;.Don't.escape.new
e120 6c 69 6e 65 2c 20 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 2c 20 61 6e 64 20 54 41 42 2e 0a line,.carriage.return,.and.TAB..
e140 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 5c 6e 29 20 22 5c 6e 22 0a 20 20 20 20 20 .....(aref.table.?\n)."\n"......
e160 28 61 72 65 66 20 74 61 62 6c 65 20 3f 5c 72 29 20 22 5c 72 22 0a 20 20 20 20 20 28 61 72 65 66 (aref.table.?\r)."\r"......(aref
e180 20 74 61 62 6c 65 20 3f 5c 74 29 20 22 5c 74 22 0a 20 20 20 20 20 3b 3b 20 45 73 63 61 70 65 20 .table.?\t)."\t"......;;.Escape.
e1a0 26 2c 20 3c 2c 20 61 6e 64 20 3e 2e 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 26 &,.<,.and.>.......(aref.table.?&
e1c0 29 20 22 26 61 6d 70 3b 22 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 3c 29 20 22 )."&amp;"......(aref.table.?<)."
e1e0 26 6c 74 3b 22 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 3e 29 20 22 26 67 74 3b &lt;"......(aref.table.?>)."&gt;
e200 22 0a 20 20 20 20 20 3b 3b 20 4e 6f 74 20 65 73 63 61 70 69 6e 67 20 27 22 27 20 62 75 79 73 20 "......;;.Not.escaping.'"'.buys.
e220 75 73 20 61 20 6d 65 61 73 75 72 61 62 6c 65 20 73 70 65 65 64 75 70 2e 20 20 49 74 27 73 20 6f us.a.measurable.speedup...It's.o
e240 6e 6c 79 0a 20 20 20 20 20 3b 3b 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 71 75 6f 74 65 20 69 nly......;;.necessary.to.quote.i
e260 74 20 66 6f 72 20 73 74 72 69 6e 67 73 20 75 73 65 64 20 69 6e 20 61 74 74 72 69 62 75 74 65 20 t.for.strings.used.in.attribute.
e280 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 68 74 6d 6c 69 7a 65 20 64 6f values,......;;.which.htmlize.do
e2a0 65 73 6e 27 74 20 74 79 70 69 63 61 6c 6c 79 20 64 6f 2e 0a 20 20 20 20 20 3b 3b 20 28 61 72 65 esn't.typically.do.......;;.(are
e2c0 66 20 74 61 62 6c 65 20 3f 5c 22 29 20 22 26 71 75 6f 74 3b 22 0a 20 20 20 20 20 29 0a 20 20 20 f.table.?\")."&quot;"......)....
e2e0 20 74 61 62 6c 65 29 29 0a 0a 3b 3b 20 41 20 63 61 63 68 65 20 6f 66 20 48 54 4d 4c 20 72 65 70 .table))..;;.A.cache.of.HTML.rep
e300 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61 72 61 63 74 resentation.of.non-ASCII.charact
e320 65 72 73 2e 20 20 44 65 70 65 6e 64 69 6e 67 0a 3b 3b 20 6f 6e 20 74 68 65 20 73 65 74 74 69 6e ers...Depending.;;.on.the.settin
e340 67 20 6f 66 20 60 68 74 6d 6c 69 7a 65 2d 63 6f 6e 76 65 72 74 2d 6e 6f 6e 61 73 63 69 69 2d 74 g.of.`htmlize-convert-nonascii-t
e360 6f 2d 65 6e 74 69 74 69 65 73 27 2c 20 74 68 69 73 20 6d 61 70 73 0a 3b 3b 20 6e 6f 6e 2d 41 53 o-entities',.this.maps.;;.non-AS
e380 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 65 69 74 68 65 72 20 22 26 23 3c 63 6f 64 CII.characters.to.either."&#<cod
e3a0 65 3e 3b 22 20 6f 72 20 22 3c 63 68 61 72 3e 22 20 28 6d 61 70 63 6f 6e 63 61 74 27 73 0a 3b 3b e>;".or."<char>".(mapconcat's.;;
e3c0 20 6d 61 70 70 65 72 20 6d 75 73 74 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 73 74 72 69 6e .mapper.must.always.return.strin
e3e0 67 73 29 2e 20 20 49 74 27 73 20 6f 6e 6c 79 20 66 69 6c 6c 65 64 20 61 73 20 63 68 61 72 61 63 gs)...It's.only.filled.as.charac
e400 74 65 72 73 0a 3b 3b 20 61 72 65 20 65 6e 63 6f 75 6e 74 65 72 65 64 2c 20 73 6f 20 74 68 61 74 ters.;;.are.encountered,.so.that
e420 20 69 6e 20 61 20 62 75 66 66 65 72 20 77 69 74 68 20 65 2e 67 2e 20 46 72 65 6e 63 68 20 74 65 .in.a.buffer.with.e.g..French.te
e440 78 74 2c 20 69 74 20 77 69 6c 6c 0a 3b 3b 20 6f 6e 6c 79 20 65 76 65 72 20 63 6f 6e 74 61 69 6e xt,.it.will.;;.only.ever.contain
e460 20 46 72 65 6e 63 68 20 61 63 63 65 6e 74 65 64 20 63 68 61 72 61 63 74 65 72 73 20 61 73 20 6b .French.accented.characters.as.k
e480 65 79 73 2e 20 20 49 74 27 73 20 63 6c 65 61 72 65 64 0a 3b 3b 20 6f 6e 20 65 61 63 68 20 65 6e eys...It's.cleared.;;.on.each.en
e4a0 74 72 79 20 74 6f 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 20 74 6f 20 61 6c 6c 6f 77 try.to.htmlize-buffer-1.to.allow
e4c0 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 66 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 63 6f .modifications.of.;;.`htmlize-co
e4e0 6e 76 65 72 74 2d 6e 6f 6e 61 73 63 69 69 2d 74 6f 2d 65 6e 74 69 74 69 65 73 27 20 74 6f 20 74 nvert-nonascii-to-entities'.to.t
e500 61 6b 65 20 65 66 66 65 63 74 2e 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 ake.effect..(defvar.htmlize-exte
e520 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d nded-character-cache.(make-hash-
e540 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a table.:test.'eq))..(defun.htmliz
e560 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 28 73 74 72 69 6e 67 29 0a 20 20 22 48 54 4d e-protect-string.(string)..."HTM
e580 4c 2d 70 72 6f 74 65 63 74 20 73 74 72 69 6e 67 2c 20 65 73 63 61 70 69 6e 67 20 48 54 4d 4c 20 L-protect.string,.escaping.HTML.
e5a0 6d 65 74 61 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 49 31 38 4e 20 63 68 61 72 73 2e 22 0a metacharacters.and.I18N.chars.".
e5c0 20 20 3b 3b 20 4f 6e 6c 79 20 70 72 6f 74 65 63 74 69 6e 67 20 73 74 72 69 6e 67 73 20 74 68 61 ..;;.Only.protecting.strings.tha
e5e0 74 20 61 63 74 75 61 6c 6c 79 20 63 6f 6e 74 61 69 6e 20 75 6e 73 61 66 65 20 6f 72 20 6e 6f 6e t.actually.contain.unsafe.or.non
e600 2d 41 53 43 49 49 0a 20 20 3b 3b 20 63 68 61 72 73 20 72 65 6d 6f 76 65 73 20 61 20 6c 6f 74 20 -ASCII...;;.chars.removes.a.lot.
e620 6f 66 20 75 6e 6e 65 63 65 73 73 61 72 79 20 66 75 6e 63 61 6c 6c 73 20 61 6e 64 20 63 6f 6e 73 of.unnecessary.funcalls.and.cons
e640 69 6e 67 2e 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b ing....(if.(not.(string-match."[
e660 5e 5c 72 5c 6e 5c 74 20 2d 25 27 2d 3b 3d 3f 2d 7e 5d 22 20 73 74 72 69 6e 67 29 29 0a 20 20 20 ^\r\n\t.-%'-;=?-~]".string))....
e680 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 ...string.....(mapconcat.(lambda
e6a0 20 28 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 .(char)..................(cond..
e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3c 20 63 68 61 72 20 31 32 38 29 0a 20 .................((<.char.128)..
e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 53 43 49 49 3a 20 75 73 65 20 ..................;;.ASCII:.use.
e700 68 74 6d 6c 69 7a 65 2d 62 61 73 69 63 2d 63 68 61 72 61 63 74 65 72 2d 74 61 62 6c 65 2e 0a 20 htmlize-basic-character-table...
e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 68 74 6d 6c 69 7a 65 2d ..................(aref.htmlize-
e740 62 61 73 69 63 2d 63 68 61 72 61 63 74 65 72 2d 74 61 62 6c 65 20 63 68 61 72 29 29 0a 20 20 20 basic-character-table.char))....
e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 ...............((gethash.char.ht
e780 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a mlize-extended-character-cache).
e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 27 76 65 20 61 6c 72 65 ...................;;.We've.alre
e7c0 61 64 79 20 73 65 65 6e 20 74 68 69 73 20 63 68 61 72 3b 20 72 65 74 75 72 6e 20 74 68 65 20 63 ady.seen.this.char;.return.the.c
e7e0 61 63 68 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 74 72 69 ached....................;;.stri
e800 6e 67 2e 0a 20 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 ng.....................)........
e820 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 68 74 6d 6c 69 7a 65 2d 63 6f 6e 76 65 72 74 ...........((not.htmlize-convert
e840 2d 6e 6f 6e 61 73 63 69 69 2d 74 6f 2d 65 6e 74 69 74 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 -nonascii-to-entities)..........
e860 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 6f 20 65 6e ..........;;.If.conversion.to.en
e880 74 69 74 69 65 73 20 69 73 20 6e 6f 74 20 64 65 73 69 72 65 64 2c 20 61 6c 77 61 79 73 0a 20 20 tities.is.not.desired,.always...
e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 70 79 20 74 68 65 20 63 68 61 .................;;.copy.the.cha
e8c0 72 20 6c 69 74 65 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.literally.....................
e8e0 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 (setf.(gethash.char.htmlize-exte
e900 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 nded-character-cache)...........
e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 ...............(char-to-string.c
e940 68 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3c 20 63 68 61 har)))...................((<.cha
e960 72 20 32 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 61 74 r.256)....................;;.Lat
e980 69 6e 20 31 3a 20 6e 6f 20 6e 65 65 64 20 74 6f 20 63 61 6c 6c 20 65 6e 63 6f 64 65 2d 63 68 61 in.1:.no.need.to.call.encode-cha
e9a0 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 r.....................(setf.(get
e9c0 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 hash.char.htmlize-extended-chara
e9e0 63 74 65 72 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cter-cache).....................
ea00 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 26 23 25 64 3b 22 20 63 68 61 72 29 29 29 0a 20 20 20 .....(format."&#%d;".char)))....
ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 6e 63 6f 64 65 2d 63 68 61 72 20 63 68 61 ...............((encode-char.cha
ea40 72 20 27 75 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 75 r.'ucs)....................;;.Mu
ea60 73 74 20 63 68 65 63 6b 20 69 66 20 65 6e 63 6f 64 65 2d 63 68 61 72 20 77 6f 72 6b 73 20 66 6f st.check.if.encode-char.works.fo
ea80 72 20 43 48 41 52 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 74 r.CHAR;....................;;.it
eaa0 20 66 61 69 6c 73 20 66 6f 72 20 41 72 61 62 69 63 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 65 .fails.for.Arabic.and.possibly.e
eac0 6c 73 65 77 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 lsewhere.....................(se
eae0 74 66 20 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 tf.(gethash.char.htmlize-extende
eb00 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d-character-cache)..............
eb20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 26 23 25 64 3b 22 20 28 65 6e 63 ............(format."&#%d;".(enc
eb40 6f 64 65 2d 63 68 61 72 20 63 68 61 72 20 27 75 63 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 ode-char.char.'ucs))))..........
eb60 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 20 20 20 20 20 3b .........(t....................;
eb80 3b 20 65 6e 63 6f 64 65 2d 63 68 61 72 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 66 6f 72 20 74 ;.encode-char.doesn't.work.for.t
eba0 68 69 73 20 63 68 61 72 2e 20 20 43 6f 70 79 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 his.char...Copy.it..............
ebc0 20 20 20 20 20 20 3b 3b 20 75 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 68 6f 70 65 20 66 6f 72 20 ......;;.unchanged.and.hope.for.
ebe0 74 68 65 20 62 65 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 the.best.....................(se
ec00 74 66 20 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 tf.(gethash.char.htmlize-extende
ec20 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d-character-cache)..............
ec40 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 68 61 72 ............(char-to-string.char
ec60 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 22 22 29 29 )))))................string.""))
ec80 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 74 74 72 2d 65 73 63 61 70 65 20 28 73 )..(defun.htmlize-attr-escape.(s
eca0 74 72 69 6e 67 29 0a 20 20 3b 3b 20 4c 69 6b 65 20 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 tring)...;;.Like.htmlize-protect
ecc0 2d 73 74 72 69 6e 67 2c 20 62 75 74 20 61 6c 73 6f 20 65 73 63 61 70 65 73 20 64 6f 75 62 6c 65 -string,.but.also.escapes.double
ece0 2d 71 75 6f 74 65 64 0a 20 20 3b 3b 20 73 74 72 69 6e 67 73 20 74 6f 20 6d 61 6b 65 20 69 74 20 -quoted...;;.strings.to.make.it.
ed00 75 73 61 62 6c 65 20 69 6e 20 61 74 74 72 69 62 75 74 65 20 76 61 6c 75 65 73 2e 0a 20 20 28 73 usable.in.attribute.values....(s
ed20 65 74 71 20 73 74 72 69 6e 67 20 28 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 etq.string.(htmlize-protect-stri
ed40 6e 67 20 73 74 72 69 6e 67 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d ng.string))...(if.(not.(string-m
ed60 61 74 63 68 20 22 5c 22 22 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 73 74 72 69 6e 67 0a atch."\"".string)).......string.
ed80 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 63 68 61 72 29 0a 20 20 ....(mapconcat.(lambda.(char)...
eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 6c 20 63 68 61 72 20 3f 5c 22 ...............(if.(eql.char.?\"
edc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 26 71 75 6f 74 3b 22 0a )......................"&quot;".
ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 ...................(char-to-stri
ee00 6e 67 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 ng.char)))................string
ee20 20 22 22 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 ."")))..(defsubst.htmlize-concat
ee40 20 28 6c 69 73 74 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 6c 69 73 74 29 20 .(list)...(if.(and.(consp.list).
ee60 28 6e 75 6c 6c 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 (null.(cdr.list))).......;;.Don'
ee80 74 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 63 6f 6d t.create.a.new.string.in.the.com
eea0 6d 6f 6e 20 63 61 73 65 20 77 68 65 72 65 20 74 68 65 20 6c 69 73 74 20 6f 6e 6c 79 0a 20 20 20 mon.case.where.the.list.only....
eec0 20 20 20 3b 3b 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 2e 0a 20 ...;;.consists.of.one.element...
eee0 20 20 20 20 20 28 63 61 72 20 6c 69 73 74 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e .....(car.list).....(apply.#'con
ef00 63 61 74 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 6f 72 6d cat.list)))..(defun.htmlize-form
ef20 61 74 2d 6c 69 6e 6b 20 28 6c 69 6e 6b 70 72 6f 70 73 20 74 65 78 74 29 0a 20 20 28 6c 65 74 20 at-link.(linkprops.text)...(let.
ef40 28 28 75 72 69 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 6c 69 6e 6b 70 72 6f 70 73 29 0a 20 20 ((uri.(if.(stringp.linkprops)...
ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6e 6b 70 72 6f 70 73 0a 20 20 20 20 20 20 20 ...............linkprops........
ef80 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 6c 69 6e 6b 70 72 6f 70 73 20 3a 75 72 ........(plist-get.linkprops.:ur
efa0 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 73 63 61 70 65 64 2d 74 65 78 74 20 28 68 74 6d 6c i))).........(escaped-text.(html
efc0 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 74 65 78 74 29 29 29 0a 20 20 20 20 28 ize-protect-string.text))).....(
efe0 69 66 20 75 72 69 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 61 20 68 72 65 66 3d if.uri.........(format."<a.href=
f000 5c 22 25 73 5c 22 3e 25 73 3c 2f 61 3e 22 20 28 68 74 6d 6c 69 7a 65 2d 61 74 74 72 2d 65 73 63 \"%s\">%s</a>".(htmlize-attr-esc
f020 61 70 65 20 75 72 69 29 20 65 73 63 61 70 65 64 2d 74 65 78 74 29 0a 20 20 20 20 20 20 65 73 63 ape.uri).escaped-text).......esc
f040 61 70 65 64 2d 74 65 78 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 65 73 63 aped-text)))..(defun.htmlize-esc
f060 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 28 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 45 73 63 61 70 65 ape-or-link.(string)...;;.Escape
f080 20 53 54 52 49 4e 47 20 61 6e 64 2f 6f 72 20 61 64 64 20 68 79 70 65 72 6c 69 6e 6b 73 2e 20 20 .STRING.and/or.add.hyperlinks...
f0a0 53 54 52 49 4e 47 20 63 6f 6d 65 73 20 66 72 6f 6d 20 61 0a 20 20 3b 3b 20 60 64 69 73 70 6c 61 STRING.comes.from.a...;;.`displa
f0c0 79 27 20 70 72 6f 70 65 72 74 79 2e 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 30 29 20 28 65 6e y'.property....(let.((pos.0).(en
f0e0 64 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 20 6f 75 74 6c 69 73 74 29 0a 20 20 20 20 d.(length.string)).outlist).....
f100 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 (while.(<.pos.end).......(let*.(
f120 28 6c 69 6e 6b 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 68 74 (link.(get-char-property.pos.'ht
f140 6d 6c 69 7a 65 2d 6c 69 6e 6b 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 mlize-link.string)).............
f160 20 28 6e 65 78 74 2d 6c 69 6e 6b 2d 63 68 61 6e 67 65 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d .(next-link-change.(next-single-
f180 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 property-change.................
f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 27 68 74 6d 6c 69 7a 65 2d 6c 69 6e ................pos.'htmlize-lin
f1c0 6b 20 73 74 72 69 6e 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 75 k.string.end))..............(chu
f1e0 6e 6b 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 6f 73 20 6e 65 78 74 2d 6c 69 nk.(substring.string.pos.next-li
f200 6e 6b 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20 20 nk-change))).........(push......
f220 20 20 20 20 28 63 6f 6e 64 20 28 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(cond.(link.................
f240 28 68 74 6d 6c 69 7a 65 2d 66 6f 72 6d 61 74 2d 6c 69 6e 6b 20 6c 69 6e 6b 20 63 68 75 6e 6b 29 (htmlize-format-link.link.chunk)
f260 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 )................((get-char-prop
f280 65 72 74 79 20 30 20 27 68 74 6d 6c 69 7a 65 2d 6c 69 74 65 72 61 6c 20 63 68 75 6e 6b 29 0a 20 erty.0.'htmlize-literal.chunk)..
f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 75 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 ...............chunk)...........
f2c0 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 .....(t.................(htmlize
f2e0 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 63 68 75 6e 6b 29 29 29 0a 20 20 20 20 20 20 20 -protect-string.chunk)))........
f300 20 20 6f 75 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 ..outlist).........(setq.pos.nex
f320 74 2d 6c 69 6e 6b 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f t-link-change))).....(htmlize-co
f340 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 6f 75 74 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 ncat.(nreverse.outlist))))..(def
f360 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 69 73 70 6c 61 79 2d 70 72 6f 70 2d 74 6f 2d 68 74 6d 6c 20 un.htmlize-display-prop-to-html.
f380 28 64 69 73 70 6c 61 79 20 74 65 78 74 29 0a 20 20 28 6c 65 74 20 28 64 65 73 63 29 0a 20 20 20 (display.text)...(let.(desc)....
f3a0 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 64 69 73 70 6c 61 79 29 0a 20 20 20 20 20 20 .(cond.((stringp.display).......
f3c0 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 69 67 6e 6f 72 65 73 20 72 65 63 75 72 73 69 76 65 20 .....;;.Emacs.ignores.recursive.
f3e0 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 display.properties.............(
f400 68 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 64 69 73 70 6c 61 79 29 29 htmlize-escape-or-link.display))
f420 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 64 ...........((not.(eq.(car-safe.d
f440 69 73 70 6c 61 79 29 20 27 69 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d isplay).'image))............(htm
f460 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 74 65 78 74 29 29 0a 20 20 20 20 20 lize-protect-string.text))......
f480 20 20 20 20 20 28 28 6e 75 6c 6c 20 28 73 65 74 71 20 64 65 73 63 20 28 66 75 6e 63 61 6c 6c 20 .....((null.(setq.desc.(funcall.
f4a0 68 74 6d 6c 69 7a 65 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 htmlize-transform-image.........
f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 .............................(cd
f4e0 72 20 64 69 73 70 6c 61 79 29 20 74 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 r.display).text)))............(h
f500 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 74 65 78 74 29 29 0a 20 20 20 tmlize-escape-or-link.text))....
f520 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 .......((stringp.desc)..........
f540 20 20 28 68 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 64 65 73 63 29 29 ..(htmlize-escape-or-link.desc))
f560 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 68 74 6d 6c 69 7a ...........(t............(htmliz
f580 65 2d 67 65 6e 65 72 61 74 65 2d 69 6d 61 67 65 20 64 65 73 63 20 74 65 78 74 29 29 29 29 29 0a e-generate-image.desc.text))))).
f5a0 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 73 74 72 69 6e 67 2d 74 6f 2d 68 74 6d 6c 20 28 .(defun.htmlize-string-to-html.(
f5c0 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 43 6f 6e 76 65 72 74 20 74 68 65 20 73 74 72 69 6e 67 20 string)...;;.Convert.the.string.
f5e0 74 6f 20 48 54 4d 4c 2c 20 69 6e 63 6c 75 64 69 6e 67 20 69 6d 61 67 65 73 20 61 74 74 61 63 68 to.HTML,.including.images.attach
f600 65 64 20 61 73 0a 20 20 3b 3b 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 20 61 6e ed.as...;;.`display'.property.an
f620 64 20 6c 69 6e 6b 73 20 61 73 20 60 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 27 20 70 72 6f 70 65 72 d.links.as.`htmlize-link'.proper
f640 74 79 2e 20 20 49 6e 20 61 0a 20 20 3b 3b 20 73 74 72 69 6e 67 20 77 69 74 68 6f 75 74 20 69 6d ty...In.a...;;.string.without.im
f660 61 67 65 73 20 6f 72 20 6c 69 6e 6b 73 2c 20 74 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e ages.or.links,.this.is.equivalen
f680 74 20 74 6f 0a 20 20 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e t.to...;;.`htmlize-protect-strin
f6a0 67 27 2e 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 30 29 20 28 65 6e 64 20 28 6c 65 6e 67 74 68 g'....(let.((pos.0).(end.(length
f6c0 20 73 74 72 69 6e 67 29 29 20 6f 75 74 6c 69 73 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c .string)).outlist).....(while.(<
f6e0 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 69 73 70 6c 61 79 20 .pos.end).......(let*.((display.
f700 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 64 69 73 70 6c 61 79 20 (get-char-property.pos.'display.
f720 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 64 69 73 70 string))..............(next-disp
f740 6c 61 79 2d 63 68 61 6e 67 65 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 lay-change.(next-single-property
f760 2d 63 68 61 6e 67 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 -change.........................
f780 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 27 64 69 73 70 6c 61 79 20 73 74 72 69 6e 67 20 65 ...........pos.'display.string.e
f7a0 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 75 6e 6b 20 28 73 75 62 73 74 72 nd))..............(chunk.(substr
f7c0 69 6e 67 20 73 74 72 69 6e 67 20 70 6f 73 20 6e 65 78 74 2d 64 69 73 70 6c 61 79 2d 63 68 61 6e ing.string.pos.next-display-chan
f7e0 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20 20 20 20 20 20 28 69 66 ge))).........(push..........(if
f800 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 64 .display..............(htmlize-d
f820 69 73 70 6c 61 79 2d 70 72 6f 70 2d 74 6f 2d 68 74 6d 6c 20 64 69 73 70 6c 61 79 20 63 68 75 6e isplay-prop-to-html.display.chun
f840 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 k)............(htmlize-escape-or
f860 2d 6c 69 6e 6b 20 63 68 75 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 6f 75 74 6c 69 73 74 29 0a -link.chunk))..........outlist).
f880 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 2d 64 69 73 70 6c 61 79 2d 63 ........(setq.pos.next-display-c
f8a0 68 61 6e 67 65 29 29 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6e 72 hange))).....(htmlize-concat.(nr
f8c0 65 76 65 72 73 65 20 6f 75 74 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 everse.outlist))))..(defun.htmli
f8e0 7a 65 2d 64 65 66 61 75 6c 74 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 65 20 28 69 6d 67 70 ze-default-transform-image.(imgp
f900 72 6f 70 73 20 5f 74 65 78 74 29 0a 20 20 22 44 65 66 61 75 6c 74 20 74 72 61 6e 73 66 6f 72 6d rops._text)..."Default.transform
f920 61 74 69 6f 6e 20 6f 66 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 74 6f 72 20 74 6f 20 73 6f 6d ation.of.image.descriptor.to.som
f940 65 74 68 69 6e 67 20 75 73 61 62 6c 65 20 69 6e 20 48 54 4d 4c 2e 0a 0a 49 66 20 60 68 74 6d 6c ething.usable.in.HTML...If.`html
f960 69 7a 65 2d 75 73 65 2d 69 6d 61 67 65 73 27 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 66 75 6e 63 ize-use-images'.is.nil,.the.func
f980 74 69 6f 6e 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 6d 65 61 6e 69 6e 67 tion.always.returns.nil,.meaning
f9a0 0a 75 73 65 20 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 .use.original.text...Otherwise,.
f9c0 69 74 20 74 72 69 65 73 20 74 6f 20 66 69 6e 64 20 74 68 65 20 69 6d 61 67 65 20 66 6f 72 20 69 it.tries.to.find.the.image.for.i
f9e0 6d 61 67 65 73 20 74 68 61 74 0a 73 70 65 63 69 66 79 20 61 20 66 69 6c 65 20 6e 61 6d 65 2e 20 mages.that.specify.a.file.name..
fa00 20 49 66 20 60 68 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 73 .If.`htmlize-force-inline-images
fa20 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 61 6c 73 6f 0a 63 6f 6e 76 65 72 74 73 20 74 '.is.non-nil,.it.also.converts.t
fa40 68 65 20 3a 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 20 74 6f 20 3a 64 61 74 61 20 61 6e 64 20 he.:file.attribute.to.:data.and.
fa60 72 65 74 75 72 6e 73 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 70 65 72 74 79 0a 6c 69 returns.the.modified.property.li
fa80 73 74 2e 22 0a 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 69 6d 61 67 65 73 0a st."...(when.htmlize-use-images.
faa0 20 20 20 20 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a 66 ....(when.(plist-get.imgprops.:f
fac0 69 6c 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 6f 63 61 74 69 6f 6e 20 28 70 6c 69 73 ile).......(let.((location.(plis
fae0 74 2d 67 65 74 20 28 63 64 72 20 28 66 69 6e 64 2d 69 6d 61 67 65 20 28 6c 69 73 74 20 69 6d 67 t-get.(cdr.(find-image.(list.img
fb00 70 72 6f 70 73 29 29 29 20 3a 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 props))).:file))).........(when.
fb20 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6d 67 70 72 6f 70 location...........(setq.imgprop
fb40 73 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 6c 2d 63 6f 70 79 2d 6c 69 73 74 20 69 6d 67 70 72 s.(plist-put.(cl-copy-list.imgpr
fb60 6f 70 73 29 20 3a 66 69 6c 65 20 6c 6f 63 61 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 28 69 66 ops).:file.location))))).....(if
fb80 20 68 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 73 0a 20 20 20 .htmlize-force-inline-images....
fba0 20 20 20 20 20 28 6c 65 74 20 28 28 6c 6f 63 61 74 69 6f 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 .....(let.((location.(plist-get.
fbc0 69 6d 67 70 72 6f 70 73 20 3a 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 imgprops.:file))...............d
fbe0 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6c 6f 63 61 74 69 6f 6e 0a 20 20 ata)...........(when.location...
fc00 20 20 20 20 20 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 ..........(with-temp-buffer.....
fc20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 ..........(condition-case.nil...
fc40 20 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 20 20 20 20 20 ................(progn..........
fc60 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
fc80 2d 6c 69 74 65 72 61 6c 6c 79 20 6c 6f 63 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 -literally.location)............
fca0 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 61 74 61 20 28 62 75 66 66 65 72 2d 73 74 72 69 .........(setq.data.(buffer-stri
fcc0 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 6e 69 6c ng))).................(error.nil
fce0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 2c ))))...........;;.if.successful,
fd00 20 72 65 74 75 72 6e 20 74 68 65 20 6e 65 77 20 70 6c 69 73 74 2c 20 6f 74 68 65 72 77 69 73 65 .return.the.new.plist,.otherwise
fd20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 69 6c 2c 20 77 68 69 63 68 20 .return...........;;.nil,.which.
fd40 77 69 6c 6c 20 75 73 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 0a 20 20 20 20 20 will.use.the.original.text......
fd60 20 20 20 20 20 28 61 6e 64 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 .....(and.data................(p
fd80 6c 69 73 74 2d 70 75 74 20 28 70 6c 69 73 74 2d 70 75 74 20 69 6d 67 70 72 6f 70 73 20 3a 66 69 list-put.(plist-put.imgprops.:fi
fda0 6c 65 20 6e 69 6c 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 le.nil).........................
fdc0 20 20 3a 64 61 74 61 20 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 69 6d 67 70 72 6f 70 73 29 29 ..:data.data))).......imgprops))
fde0 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 6c 74 2d 74 65 78 74 20 28 5f 69 6d 67 )..(defun.htmlize-alt-text.(_img
fe00 70 72 6f 70 73 20 6f 72 69 67 74 65 78 74 29 0a 20 20 28 61 6e 64 20 28 2f 3d 20 28 6c 65 6e 67 props.origtext)...(and.(/=.(leng
fe20 74 68 20 6f 72 69 67 74 65 78 74 29 20 30 29 0a 20 20 20 20 20 20 20 28 3c 3d 20 28 6c 65 6e 67 th.origtext).0)........(<=.(leng
fe40 74 68 20 6f 72 69 67 74 65 78 74 29 20 68 74 6d 6c 69 7a 65 2d 6d 61 78 2d 61 6c 74 2d 74 65 78 th.origtext).htmlize-max-alt-tex
fe60 74 29 0a 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 20 22 5b 5c t)........(not.(string-match."[\
fe80 30 2d 5c 78 31 66 5d 22 20 6f 72 69 67 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 6f 72 69 67 74 0-\x1f]".origtext))........origt
fea0 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 6e 65 72 61 74 65 2d 69 ext))..(defun.htmlize-generate-i
fec0 6d 61 67 65 20 28 69 6d 67 70 72 6f 70 73 20 6f 72 69 67 74 65 78 74 29 0a 20 20 28 6c 65 74 2a mage.(imgprops.origtext)...(let*
fee0 20 28 28 61 6c 74 2d 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 61 6c 74 2d 74 65 78 74 20 69 6d .((alt-text.(htmlize-alt-text.im
ff00 67 70 72 6f 70 73 20 6f 72 69 67 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 6c 74 2d gprops.origtext))..........(alt-
ff20 61 74 74 72 20 28 69 66 20 61 6c 74 2d 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 attr.(if.alt-text...............
ff40 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 61 6c 74 3d 5c 22 25 73 5c 22 22 20 28 .........(format.".alt=\"%s\"".(
ff60 68 74 6d 6c 69 7a 65 2d 61 74 74 72 2d 65 73 63 61 70 65 20 61 6c 74 2d 74 65 78 74 29 29 0a 20 htmlize-attr-escape.alt-text))..
ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29 29 29 0a 20 20 20 20 28 63 ....................""))).....(c
ffa0 6f 6e 64 20 28 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a 66 69 6c 65 29 0a ond.((plist-get.imgprops.:file).
ffc0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 72 79 20 74 6f 20 66 69 6e 64 20 74 68 65 20 69 6d ...........;;.Try.to.find.the.im
ffe0 61 67 65 20 69 6e 20 69 6d 61 67 65 2d 6c 6f 61 64 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 age.in.image-load-path..........
10000 20 20 28 6c 65 74 2a 20 28 28 66 6f 75 6e 64 2d 70 72 6f 70 73 20 28 63 64 72 20 28 66 69 6e 64 ..(let*.((found-props.(cdr.(find
10020 2d 69 6d 61 67 65 20 28 6c 69 73 74 20 69 6d 67 70 72 6f 70 73 29 29 29 29 0a 20 20 20 20 20 20 -image.(list.imgprops)))).......
10040 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 ............(file.(or.(plist-get
10060 20 66 6f 75 6e 64 2d 70 72 6f 70 73 20 3a 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .found-props.:file).............
10080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 ................(plist-get.imgpr
100a0 6f 70 73 20 3a 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d ops.:file))))..............(form
100c0 61 74 20 22 3c 69 6d 67 20 73 72 63 3d 5c 22 25 73 5c 22 25 73 20 2f 3e 22 0a 20 20 20 20 20 20 at."<img.src=\"%s\"%s./>".......
100e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 61 74 74 72 2d 65 73 63 ...............(htmlize-attr-esc
10100 61 70 65 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 0a 20 ape.(file-relative-name.file))..
10120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 74 2d 61 74 74 72 29 29 29 0a ....................alt-attr))).
10140 20 20 20 20 20 20 20 20 20 20 28 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a ..........((plist-get.imgprops.:
10160 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6d 61 67 65 2d 74 79 data)............(let.((image-ty
10180 70 65 20 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a 74 79 70 65 29 29 29 0a pe.(plist-get.imgprops.:type))).
101a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 69 6d 67 20 73 72 63 3d 5c .............(format."<img.src=\
101c0 22 64 61 74 61 3a 69 6d 61 67 65 2f 25 73 3b 62 61 73 65 36 34 2c 25 73 5c 22 25 73 20 2f 3e 22 "data:image/%s;base64,%s\"%s./>"
101e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6c 69 73 74 ......................(or.(alist
10200 2d 67 65 74 20 69 6d 61 67 65 2d 74 79 70 65 20 68 74 6d 6c 69 7a 65 2d 69 6d 61 67 65 2d 6d 69 -get.image-type.htmlize-image-mi
10220 6d 65 2d 74 79 70 65 2d 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me-type-alist)..................
10240 20 20 20 20 20 20 20 20 69 6d 61 67 65 2d 74 79 70 65 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 ........image-type."")..........
10260 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 73 65 36 34 2d 65 6e 63 6f 64 65 2d 73 74 72 69 6e ............(base64-encode-strin
10280 67 20 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a 64 61 74 61 29 29 0a 20 20 g.(plist-get.imgprops.:data))...
102a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 74 2d 61 74 74 72 29 29 29 29 29 ...................alt-attr)))))
102c0 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 20 28 70 )..(defconst.htmlize-ellipsis.(p
102e0 72 6f 70 65 72 74 69 7a 65 20 22 2e 2e 2e 22 20 27 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 ropertize."...".'htmlize-ellipsi
10300 73 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 74 63 68 2d 69 6e 76 2d s.t))..(defun.htmlize-match-inv-
10320 73 70 65 63 20 28 69 6e 76 29 0a 20 20 28 63 6c 2d 6d 65 6d 62 65 72 20 69 6e 76 20 62 75 66 66 spec.(inv)...(cl-member.inv.buff
10340 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 er-invisibility-spec............
10360 20 20 3a 6b 65 79 20 28 6c 61 6d 62 64 61 20 28 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..:key.(lambda.(i)..............
10380 20 20 20 20 20 20 20 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 69 29 20 69 20 28 63 61 72 20 69 29 .......(if.(symbolp.i).i.(car.i)
103a0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 69 6e 76 69 ))))..(defun.htmlize-decode-invi
103c0 73 69 62 69 6c 69 74 79 2d 73 70 65 63 20 28 69 6e 76 69 73 69 62 6c 65 29 0a 20 20 3b 3b 20 52 sibility-spec.(invisible)...;;.R
103e0 65 74 75 72 6e 20 74 2c 20 6e 69 6c 2c 20 6f 72 20 60 65 6c 6c 69 70 73 69 73 27 2c 20 64 65 70 eturn.t,.nil,.or.`ellipsis',.dep
10400 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 20 69 6e 76 69 73 69 62 6c 65 20 74 65 78 74 20 73 68 6f ending.on.how.invisible.text.sho
10420 75 6c 64 0a 20 20 3b 3b 20 62 65 20 69 6e 73 65 72 74 65 64 2e 0a 0a 20 20 28 69 66 20 28 6e 6f uld...;;.be.inserted.....(if.(no
10440 74 20 28 6c 69 73 74 70 20 62 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 t.(listp.buffer-invisibility-spe
10460 63 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 62 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c c)).......;;.If.buffer-invisibil
10480 69 74 79 2d 73 70 65 63 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 65 6e 20 61 6c 6c ity-spec.is.not.a.list,.then.all
104a0 0a 20 20 20 20 20 20 3b 3b 20 63 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 6e 6f 6e 2d 6e 69 .......;;.characters.with.non-ni
104c0 6c 20 60 69 6e 76 69 73 69 62 6c 65 27 20 70 72 6f 70 65 72 74 79 20 61 72 65 20 76 69 73 69 62 l.`invisible'.property.are.visib
104e0 6c 65 2e 0a 20 20 20 20 20 20 28 6e 6f 74 20 69 6e 76 69 73 69 62 6c 65 29 0a 0a 20 20 20 20 3b le........(not.invisible)......;
10500 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 6e 6f 6e 2d ;.Otherwise,.the.value.of.a.non-
10520 6e 69 6c 20 60 69 6e 76 69 73 69 62 6c 65 27 20 70 72 6f 70 65 72 74 79 20 63 61 6e 20 62 65 3a nil.`invisible'.property.can.be:
10540 0a 20 20 20 20 3b 3b 20 31 2e 20 61 20 73 79 6d 62 6f 6c 20 2d 2d 20 6d 61 6b 65 20 74 68 65 20 .....;;.1..a.symbol.--.make.the.
10560 74 65 78 74 20 69 6e 76 69 73 69 62 6c 65 20 69 66 20 69 74 20 6d 61 74 63 68 65 73 0a 20 20 20 text.invisible.if.it.matches....
10580 20 3b 3b 20 20 20 20 62 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 2e .;;....buffer-invisibility-spec.
105a0 0a 20 20 20 20 3b 3b 20 32 2e 20 61 20 6c 69 73 74 20 6f 66 20 73 79 6d 62 6f 6c 73 20 2d 2d 20 .....;;.2..a.list.of.symbols.--.
105c0 6d 61 6b 65 20 74 68 65 20 74 65 78 74 20 69 6e 76 69 73 69 62 6c 65 20 69 66 0a 20 20 20 20 3b make.the.text.invisible.if.....;
105e0 3b 20 20 20 20 61 6e 79 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 74 63 ;....any.symbol.in.the.list.matc
10600 68 65 73 0a 20 20 20 20 3b 3b 20 20 20 20 62 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 hes.....;;....buffer-invisibilit
10620 79 2d 73 70 65 63 2e 0a 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 6d 61 74 63 68 20 6f 66 20 62 y-spec......;;.If.the.match.of.b
10640 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 20 68 61 73 20 61 20 6e 6f uffer-invisibility-spec.has.a.no
10660 6e 2d 6e 69 6c 0a 20 20 20 20 3b 3b 20 43 44 52 2c 20 72 65 70 6c 61 63 65 20 74 68 65 20 69 6e n-nil.....;;.CDR,.replace.the.in
10680 76 69 73 69 62 6c 65 20 74 65 78 74 20 77 69 74 68 20 61 6e 20 65 6c 6c 69 70 73 69 73 2e 0a 20 visible.text.with.an.ellipsis...
106a0 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 20 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 69 6e 76 ...(let.((match.(if.(symbolp.inv
106c0 69 73 69 62 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 28 68 74 isible)......................(ht
106e0 6d 6c 69 7a 65 2d 6d 61 74 63 68 2d 69 6e 76 2d 73 70 65 63 20 69 6e 76 69 73 69 62 6c 65 29 0a mlize-match-inv-spec.invisible).
10700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 20 23 27 68 74 ...................(cl-some.#'ht
10720 6d 6c 69 7a 65 2d 6d 61 74 63 68 2d 69 6e 76 2d 73 70 65 63 20 69 6e 76 69 73 69 62 6c 65 29 29 mlize-match-inv-spec.invisible))
10740 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6d 61 74 63 68 29 20 74 29 0a )).......(cond.((null.match).t).
10760 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 2d 73 61 66 65 20 28 63 61 72 20 6d 61 74 63 ............((cdr-safe.(car.matc
10780 68 29 29 20 27 65 6c 6c 69 70 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 h)).'ellipsis).............(t.ni
107a0 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 64 64 2d 62 65 66 6f 72 l)))))..(defun.htmlize-add-befor
107c0 65 2d 61 66 74 65 72 2d 73 74 72 69 6e 67 73 20 28 62 65 67 20 65 6e 64 20 74 65 78 74 29 0a 20 e-after-strings.(beg.end.text)..
107e0 20 3b 3b 20 46 69 6e 64 20 6f 76 65 72 6c 61 79 73 20 73 70 65 63 69 66 79 69 6e 67 20 62 65 66 .;;.Find.overlays.specifying.bef
10800 6f 72 65 2d 73 74 72 69 6e 67 20 61 6e 64 20 61 66 74 65 72 2d 73 74 72 69 6e 67 20 69 6e 20 5b ore-string.and.after-string.in.[
10820 62 65 67 2c 0a 20 20 3b 3b 20 70 6f 73 29 2e 20 20 49 66 20 61 6e 79 20 61 72 65 20 66 6f 75 6e beg,...;;.pos)...If.any.are.foun
10840 64 2c 20 73 70 6c 69 63 65 20 74 68 65 6d 20 69 6e 74 6f 20 54 45 58 54 20 61 6e 64 20 72 65 74 d,.splice.them.into.TEXT.and.ret
10860 75 72 6e 20 74 68 65 20 6e 65 77 0a 20 20 3b 3b 20 74 65 78 74 2e 0a 20 20 28 6c 65 74 20 28 61 urn.the.new...;;.text....(let.(a
10880 64 64 69 74 69 6f 6e 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6f 76 65 72 6c 61 79 20 28 dditions).....(dolist.(overlay.(
108a0 6f 76 65 72 6c 61 79 73 2d 69 6e 20 62 65 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 28 6c 65 74 overlays-in.beg.end)).......(let
108c0 20 28 28 62 65 66 6f 72 65 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 76 65 72 6c 61 79 20 27 .((before.(overlay-get.overlay.'
108e0 62 65 66 6f 72 65 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 66 74 before-string)).............(aft
10900 65 72 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 76 65 72 6c 61 79 20 27 61 66 74 65 72 2d 73 er.(overlay-get.overlay.'after-s
10920 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 66 74 65 72 0a 20 20 20 tring))).........(when.after....
10940 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 2d 20 28 6f 76 65 72 6c 61 79 2d 65 .......(push.(cons.(-.(overlay-e
10960 6e 64 20 6f 76 65 72 6c 61 79 29 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd.overlay).beg)................
10980 20 20 20 20 20 20 20 61 66 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 64 .......after).................ad
109a0 64 69 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 62 65 66 6f 72 65 0a 20 ditions)).........(when.before..
109c0 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 2d 20 28 6f 76 65 72 6c 61 79 .........(push.(cons.(-.(overlay
109e0 2d 73 74 61 72 74 20 6f 76 65 72 6c 61 79 29 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 -start.overlay).beg)............
10a00 20 20 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........before)..............
10a20 20 20 20 61 64 64 69 74 69 6f 6e 73 29 29 29 29 0a 20 20 20 20 28 69 66 20 61 64 64 69 74 69 6f ...additions)))).....(if.additio
10a40 6e 73 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 65 78 74 6c 69 73 74 20 6e 69 6c 29 0a ns.........(let.((textlist.nil).
10a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 70 6f 73 20 30 29 29 0a 20 20 20 20 20 20 ..............(strpos.0)).......
10a80 20 20 20 20 28 64 6f 6c 69 73 74 20 28 61 64 64 20 28 63 6c 2d 73 74 61 62 6c 65 2d 73 6f 72 74 ....(dolist.(add.(cl-stable-sort
10aa0 20 61 64 64 69 74 69 6f 6e 73 20 23 27 3c 20 3a 6b 65 79 20 23 27 63 61 72 29 29 0a 20 20 20 20 .additions.#'<.:key.#'car)).....
10ac0 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 64 64 70 6f 73 20 28 63 61 72 20 61 64 64 29 29 ........(let.((addpos.(car.add))
10ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 74 65 78 74 20 28 63 64 72 ...................(addtext.(cdr
10b00 20 61 64 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 73 75 62 .add)))...............(push.(sub
10b20 73 74 72 69 6e 67 20 74 65 78 74 20 73 74 72 70 6f 73 20 61 64 64 70 6f 73 29 20 74 65 78 74 6c string.text.strpos.addpos).textl
10b40 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 61 64 64 74 65 78 74 ist)...............(push.addtext
10b60 20 74 65 78 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 .textlist)...............(setq.s
10b80 74 72 70 6f 73 20 61 64 64 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 trpos.addpos)))...........(push.
10ba0 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 73 74 72 70 6f 73 29 20 74 65 78 74 6c 69 73 74 (substring.text.strpos).textlist
10bc0 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 28 6e 72 65 )...........(apply.#'concat.(nre
10be0 76 65 72 73 65 20 74 65 78 74 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 74 65 78 74 29 29 29 0a verse.textlist))).......text))).
10c00 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 70 72 6f 70 20 28 70 72 6f 70 20 .(defun.htmlize-copy-prop.(prop.
10c20 62 65 67 20 65 6e 64 20 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 43 6f 70 79 20 74 68 65 20 73 70 beg.end.string)...;;.Copy.the.sp
10c40 65 63 69 66 69 65 64 20 70 72 6f 70 65 72 74 79 20 66 72 6f 6d 20 74 68 65 20 73 70 65 63 69 66 ecified.property.from.the.specif
10c60 69 65 64 20 72 65 67 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 3b 3b 20 62 75 66 66 65 72 20 74 6f ied.region.of.the...;;.buffer.to
10c80 20 74 68 65 20 74 61 72 67 65 74 20 73 74 72 69 6e 67 2e 20 20 57 65 20 63 61 6e 6e 6f 74 20 72 .the.target.string...We.cannot.r
10ca0 65 6c 79 20 6f 6e 20 45 6d 61 63 73 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 3b 3b 20 70 72 ely.on.Emacs.to.copy.the...;;.pr
10cc0 6f 70 65 72 74 79 20 62 65 63 61 75 73 65 20 77 65 20 77 61 6e 74 20 74 6f 20 68 61 6e 64 6c 65 operty.because.we.want.to.handle
10ce0 20 70 72 6f 70 65 72 74 69 65 73 20 63 6f 6d 69 6e 67 20 66 72 6f 6d 20 62 6f 74 68 0a 20 20 3b .properties.coming.from.both...;
10d00 3b 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 6f 76 65 72 6c 61 79 73 2e 0a ;.text.properties.and.overlays..
10d20 20 20 28 6c 65 74 20 28 28 70 6f 73 20 62 65 67 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c ..(let.((pos.beg)).....(while.(<
10d40 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 67 65 .pos.end).......(let.((value.(ge
10d60 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 70 72 6f 70 29 29 0a 20 20 20 20 20 t-char-property.pos.prop))......
10d80 20 20 20 20 20 20 20 28 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 68 74 6d 6c 69 7a 65 2d 6e 65 78 .......(next-change.(htmlize-nex
10da0 74 2d 63 68 61 6e 67 65 20 70 6f 73 20 70 72 6f 70 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 20 t-change.pos.prop.end)))........
10dc0 20 28 77 68 65 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 .(when.value...........(put-text
10de0 2d 70 72 6f 70 65 72 74 79 20 28 2d 20 70 6f 73 20 62 65 67 29 20 28 2d 20 6e 65 78 74 2d 63 68 -property.(-.pos.beg).(-.next-ch
10e00 61 6e 67 65 20 62 65 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 ange.beg).......................
10e20 20 20 20 20 20 20 20 70 72 6f 70 20 76 61 6c 75 65 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 .......prop.value.string))......
10e40 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 29 29 29 29 0a 0a 28 ...(setq.pos.next-change)))))..(
10e60 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 74 65 78 74 2d 77 69 74 68 2d 64 69 73 70 defun.htmlize-get-text-with-disp
10e80 6c 61 79 20 28 62 65 67 20 65 6e 64 29 0a 20 20 3b 3b 20 4c 69 6b 65 20 62 75 66 66 65 72 2d 73 lay.(beg.end)...;;.Like.buffer-s
10ea0 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 2c 20 65 78 63 65 70 74 20 69 ubstring-no-properties,.except.i
10ec0 74 20 63 6f 70 69 65 73 20 74 68 65 0a 20 20 3b 3b 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 t.copies.the...;;.`display'.prop
10ee0 65 72 74 79 20 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 72 2c 20 69 66 20 66 6f 75 6e 64 2e 0a erty.from.the.buffer,.if.found..
10f00 20 20 28 6c 65 74 20 28 28 74 65 78 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d ..(let.((text.(buffer-substring-
10f20 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 28 68 74 no-properties.beg.end))).....(ht
10f40 6d 6c 69 7a 65 2d 63 6f 70 79 2d 70 72 6f 70 20 27 64 69 73 70 6c 61 79 20 62 65 67 20 65 6e 64 mlize-copy-prop.'display.beg.end
10f60 20 74 65 78 74 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 70 72 6f 70 20 27 68 .text).....(htmlize-copy-prop.'h
10f80 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 20 62 65 67 20 65 6e 64 20 74 65 78 74 29 0a 20 20 20 20 28 73 tmlize-link.beg.end.text).....(s
10fa0 65 74 71 20 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 61 64 64 2d 62 65 66 6f 72 65 2d 61 66 74 etq.text.(htmlize-add-before-aft
10fc0 65 72 2d 73 74 72 69 6e 67 73 20 62 65 67 20 65 6e 64 20 74 65 78 74 29 29 0a 20 20 20 20 74 65 er-strings.beg.end.text)).....te
10fe0 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 73 75 62 73 xt))..(defun.htmlize-buffer-subs
11000 74 72 69 6e 67 2d 6e 6f 2d 69 6e 76 69 73 69 62 6c 65 20 28 62 65 67 20 65 6e 64 29 0a 20 20 3b tring-no-invisible.(beg.end)...;
11020 3b 20 4c 69 6b 65 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 ;.Like.buffer-substring-no-prope
11040 72 74 69 65 73 2c 20 62 75 74 20 64 6f 6e 27 74 20 63 6f 70 79 20 69 6e 76 69 73 69 62 6c 65 0a rties,.but.don't.copy.invisible.
11060 20 20 3b 3b 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 2e 20 20 57 68 65 72 65 ..;;.parts.of.the.region...Where
11080 20 62 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 0a .buffer-substring-no-properties.
110a0 20 20 3b 3b 20 6d 61 6e 64 61 74 65 73 20 61 6e 20 65 6c 6c 69 70 73 69 73 20 74 6f 20 62 65 20 ..;;.mandates.an.ellipsis.to.be.
110c0 73 68 6f 77 6e 2c 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 20 69 73 20 69 6e 73 65 72 shown,.htmlize-ellipsis.is.inser
110e0 74 65 64 2e 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 76 ted....(let.((pos.beg).........v
11100 69 73 69 62 6c 65 2d 6c 69 73 74 20 69 6e 76 69 73 69 62 6c 65 20 73 68 6f 77 20 6c 61 73 74 2d isible-list.invisible.show.last-
11120 73 68 6f 77 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 0a 20 20 20 20 3b 3b 20 49 74 65 72 61 74 65 show.next-change).....;;.Iterate
11140 20 6f 76 65 72 20 74 68 65 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 60 69 6e 76 69 73 69 .over.the.changes.in.the.`invisi
11160 62 6c 65 27 20 70 72 6f 70 65 72 74 79 20 61 6e 64 20 66 69 6c 74 65 72 0a 20 20 20 20 3b 3b 20 ble'.property.and.filter.....;;.
11180 6f 75 74 20 74 68 65 20 70 6f 72 74 69 6f 6e 73 20 77 68 65 72 65 20 69 74 27 73 20 6e 6f 6e 2d out.the.portions.where.it's.non-
111a0 6e 69 6c 2c 20 69 2e 65 2e 20 77 68 65 72 65 20 74 68 65 20 74 65 78 74 20 69 73 0a 20 20 20 20 nil,.i.e..where.the.text.is.....
111c0 3b 3b 20 69 6e 76 69 73 69 62 6c 65 2e 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 ;;.invisible......(while.(<.pos.
111e0 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 76 69 73 69 62 6c 65 20 28 67 65 74 2d end).......(setq.invisible.(get-
11200 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 69 6e 76 69 73 69 62 6c 65 29 0a 20 20 char-property.pos.'invisible)...
11220 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 68 74 6d 6c 69 7a 65 2d 6e ..........next-change.(htmlize-n
11240 65 78 74 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 69 6e 76 69 73 69 62 6c 65 20 65 6e 64 29 0a 20 ext-change.pos.'invisible.end)..
11260 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 77 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d ...........show.(htmlize-decode-
11280 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 20 69 6e 76 69 73 69 62 6c 65 29 29 0a 20 20 invisibility-spec.invisible))...
112a0 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 73 68 6f 77 20 74 29 0a 20 20 20 20 20 20 20 20 20 ....(cond.((eq.show.t)..........
112c0 20 20 20 20 28 70 75 73 68 20 28 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 74 65 78 74 2d 77 69 74 68 ....(push.(htmlize-get-text-with
112e0 2d 64 69 73 70 6c 61 79 20 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 0a 20 20 20 20 20 20 -display.pos.next-change).......
11300 20 20 20 20 20 20 20 20 20 20 20 20 20 76 69 73 69 62 6c 65 2d 6c 69 73 74 29 29 0a 20 20 20 20 .............visible-list)).....
11320 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 65 71 20 73 68 6f 77 20 27 65 6c 6c 69 70 73 69 73 ........((and.(eq.show.'ellipsis
11340 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6c 61 73 )...................(not.(eq.las
11360 74 2d 73 68 6f 77 20 27 65 6c 6c 69 70 73 69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 t-show.'ellipsis))).............
11380 20 3b 3b 20 43 6f 6e 66 6c 61 74 65 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 6c 69 70 73 65 73 .;;.Conflate.successive.ellipses
113a0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c ...............(push.htmlize-ell
113c0 69 70 73 69 73 20 76 69 73 69 62 6c 65 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 ipsis.visible-list))).......(set
113e0 71 20 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 6c 61 73 74 2d 73 68 6f 77 20 73 68 6f 77 q.pos.next-change.last-show.show
11400 29 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 )).....(htmlize-concat.(nreverse
11420 20 76 69 73 69 62 6c 65 2d 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a .visible-list))))..(defun.htmliz
11440 65 2d 74 72 69 6d 2d 65 6c 6c 69 70 73 69 73 20 28 74 65 78 74 29 0a 20 20 3b 3b 20 52 65 6d 6f e-trim-ellipsis.(text)...;;.Remo
11460 76 65 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 65 73 20 28 22 2e 2e 2e 22 29 20 66 72 6f 6d ve.htmlize-ellipses.("...").from
11480 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 54 45 58 54 20 69 66 20 69 74 0a 20 20 3b .the.beginning.of.TEXT.if.it...;
114a0 3b 20 73 74 61 72 74 73 20 77 69 74 68 20 69 74 2e 20 20 49 74 20 63 68 65 63 6b 73 20 66 6f 72 ;.starts.with.it...It.checks.for
114c0 20 74 68 65 20 73 70 65 63 69 61 6c 20 70 72 6f 70 65 72 74 79 20 6f 66 20 74 68 65 0a 20 20 3b .the.special.property.of.the...;
114e0 3b 20 65 6c 6c 69 70 73 69 73 20 73 6f 20 69 74 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 6f 6e ;.ellipsis.so.it.doesn't.work.on
11500 20 6f 72 64 69 6e 61 72 79 20 74 65 78 74 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 0a .ordinary.text.that.begins.with.
11520 20 20 3b 3b 20 22 2e 2e 2e 22 2e 0a 20 20 28 69 66 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 ..;;."..."....(if.(get-text-prop
11540 65 72 74 79 20 30 20 27 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 20 74 65 78 74 29 0a 20 erty.0.'htmlize-ellipsis.text)..
11560 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 28 6c 65 6e 67 74 68 20 68 74 6d .....(substring.text.(length.htm
11580 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 29 29 0a 20 20 20 20 74 65 78 74 29 29 0a 0a 28 64 65 66 lize-ellipsis)).....text))..(def
115a0 63 6f 6e 73 74 20 68 74 6d 6c 69 7a 65 2d 74 61 62 2d 73 70 61 63 65 73 0a 20 20 3b 3b 20 41 20 const.htmlize-tab-spaces...;;.A.
115c0 74 61 62 6c 65 20 6f 66 20 73 74 72 69 6e 67 73 20 77 69 74 68 20 73 70 61 63 65 73 2e 20 20 28 table.of.strings.with.spaces...(
115e0 61 72 65 66 20 68 74 6d 6c 69 7a 65 2d 74 61 62 2d 73 70 61 63 65 73 20 35 29 20 69 73 0a 20 20 aref.htmlize-tab-spaces.5).is...
11600 3b 3b 20 6c 69 6b 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 35 20 3f 5c 73 29 2c 20 65 78 63 ;;.like.(make-string.5.?\s),.exc
11620 65 70 74 20 69 74 20 64 6f 65 73 6e 27 74 20 63 6f 6e 73 2e 0a 20 20 28 6c 65 74 20 28 28 76 20 ept.it.doesn't.cons....(let.((v.
11640 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 33 32 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 64 6f 74 69 (make-vector.32.nil))).....(doti
11660 6d 65 73 20 28 69 20 28 6c 65 6e 67 74 68 20 76 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 mes.(i.(length.v)).......(setf.(
11680 61 72 65 66 20 76 20 69 29 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 69 20 3f 5c 73 29 29 29 0a aref.v.i).(make-string.i.?\s))).
116a0 20 20 20 20 76 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 69 66 79 ....v))..(defun.htmlize-untabify
116c0 2d 73 74 72 69 6e 67 20 28 74 65 78 74 20 73 74 61 72 74 2d 63 6f 6c 75 6d 6e 29 0a 20 20 22 55 -string.(text.start-column)..."U
116e0 6e 74 61 62 69 66 79 20 54 45 58 54 2c 20 61 73 73 75 6d 69 6e 67 20 69 74 20 73 74 61 72 74 73 ntabify.TEXT,.assuming.it.starts
11700 20 61 74 20 53 54 41 52 54 2d 43 4f 4c 55 4d 4e 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6c 75 .at.START-COLUMN."...(let.((colu
11720 6d 6e 20 73 74 61 72 74 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 6d mn.start-column).........(last-m
11740 61 74 63 68 20 30 29 0a 20 20 20 20 20 20 20 20 28 63 68 75 6e 6b 2d 73 74 61 72 74 20 30 29 0a atch.0).........(chunk-start.0).
11760 20 20 20 20 20 20 20 20 63 68 75 6e 6b 73 20 6d 61 74 63 68 2d 70 6f 73 20 74 61 62 2d 73 69 7a ........chunks.match-pos.tab-siz
11780 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b 5c 74 e).....(while.(string-match."[\t
117a0 5c 6e 5d 22 20 74 65 78 74 20 6c 61 73 74 2d 6d 61 74 63 68 29 0a 20 20 20 20 20 20 28 73 65 74 \n]".text.last-match).......(set
117c0 71 20 6d 61 74 63 68 2d 70 6f 73 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 q.match-pos.(match-beginning.0))
117e0 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 28 61 72 65 66 20 74 65 78 74 20 6d 61 74 .......(cond.((eq.(aref.text.mat
11800 63 68 2d 70 6f 73 29 20 3f 5c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6e 63 ch-pos).?\t)..............;;.Enc
11820 6f 75 6e 74 65 72 65 64 20 61 20 74 61 62 3a 20 63 72 65 61 74 65 20 61 20 63 68 75 6e 6b 20 6f ountered.a.tab:.create.a.chunk.o
11840 66 20 74 65 78 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.text.followed.by..............
11860 3b 3b 20 74 68 65 20 65 78 70 61 6e 64 65 64 20 74 61 62 2e 0a 20 20 20 20 20 20 20 20 20 20 20 ;;.the.expanded.tab.............
11880 20 20 28 70 75 73 68 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 63 68 75 6e 6b 2d 73 74 ..(push.(substring.text.chunk-st
118a0 61 72 74 20 6d 61 74 63 68 2d 70 6f 73 29 20 63 68 75 6e 6b 73 29 0a 20 20 20 20 20 20 20 20 20 art.match-pos).chunks)..........
118c0 20 20 20 20 3b 3b 20 49 6e 63 72 65 61 73 65 20 43 4f 4c 55 4d 4e 20 62 79 20 74 68 65 20 6c 65 ....;;.Increase.COLUMN.by.the.le
118e0 6e 67 74 68 20 6f 66 20 74 68 65 20 74 65 78 74 20 77 65 27 76 65 0a 20 20 20 20 20 20 20 20 20 ngth.of.the.text.we've..........
11900 20 20 20 20 3b 3b 20 73 6b 69 70 70 65 64 20 73 69 6e 63 65 20 6c 61 73 74 20 74 61 62 20 6f 72 ....;;.skipped.since.last.tab.or
11920 20 6e 65 77 6c 69 6e 65 2e 20 20 28 45 6e 63 6f 75 6e 74 65 72 69 6e 67 0a 20 20 20 20 20 20 20 .newline...(Encountering........
11940 20 20 20 20 20 20 3b 3b 20 6e 65 77 6c 69 6e 65 20 72 65 73 65 74 73 20 69 74 2e 29 0a 20 20 20 ......;;.newline.resets.it.)....
11960 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 63 6f 6c 75 6d 6e 20 28 2d 20 6d 61 74 ..........(cl-incf.column.(-.mat
11980 63 68 2d 70 6f 73 20 6c 61 73 74 2d 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ch-pos.last-match)).............
119a0 20 3b 3b 20 43 61 6c 63 75 6c 61 74 65 20 74 61 62 20 73 69 7a 65 20 62 61 73 65 64 20 6f 6e 20 .;;.Calculate.tab.size.based.on.
119c0 74 61 62 2d 77 69 64 74 68 20 61 6e 64 20 43 4f 4c 55 4d 4e 2e 0a 20 20 20 20 20 20 20 20 20 20 tab-width.and.COLUMN............
119e0 20 20 20 28 73 65 74 71 20 74 61 62 2d 73 69 7a 65 20 28 2d 20 74 61 62 2d 77 69 64 74 68 20 28 ...(setq.tab-size.(-.tab-width.(
11a00 25 20 63 6f 6c 75 6d 6e 20 74 61 62 2d 77 69 64 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 %.column.tab-width)))...........
11a20 20 20 20 3b 3b 20 45 78 70 61 6e 64 20 74 68 65 20 74 61 62 2c 20 63 61 72 65 66 75 6c 6c 79 20 ...;;.Expand.the.tab,.carefully.
11a40 72 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 60 64 69 73 70 6c 61 79 27 0a 20 20 20 20 20 20 20 recreating.the.`display'........
11a60 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 79 20 69 66 20 6f 6e 65 20 77 61 73 20 6f 6e 20 ......;;.property.if.one.was.on.
11a80 74 68 65 20 54 41 42 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 73 the.TAB...............(let.((dis
11aa0 70 6c 61 79 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6d 61 74 63 68 2d 70 6f play.(get-text-property.match-po
11ac0 73 20 27 64 69 73 70 6c 61 79 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.'display.text))...............
11ae0 20 20 20 20 20 28 65 78 70 61 6e 64 65 64 2d 74 61 62 20 28 61 72 65 66 20 68 74 6d 6c 69 7a 65 .....(expanded-tab.(aref.htmlize
11b00 2d 74 61 62 2d 73 70 61 63 65 73 20 74 61 62 2d 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 -tab-spaces.tab-size))).........
11b20 20 20 20 20 20 20 20 28 77 68 65 6e 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 .......(when.display............
11b40 20 20 20 20 20 20 28 73 65 74 71 20 65 78 70 61 6e 64 65 64 2d 74 61 62 20 28 63 6f 70 79 2d 73 ......(setq.expanded-tab.(copy-s
11b60 65 71 75 65 6e 63 65 20 65 78 70 61 6e 64 65 64 2d 74 61 62 29 29 0a 20 20 20 20 20 20 20 20 20 equence.expanded-tab))..........
11b80 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 30 20 74 61 62 ........(put-text-property.0.tab
11ba0 2d 73 69 7a 65 20 27 64 69 73 70 6c 61 79 20 64 69 73 70 6c 61 79 20 65 78 70 61 6e 64 65 64 2d -size.'display.display.expanded-
11bc0 74 61 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 78 70 61 6e tab))................(push.expan
11be0 64 65 64 2d 74 61 62 20 63 68 75 6e 6b 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 ded-tab.chunks))..............(c
11c00 6c 2d 69 6e 63 66 20 63 6f 6c 75 6d 6e 20 74 61 62 2d 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 l-incf.column.tab-size).........
11c20 20 20 20 20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 73 74 61 72 74 20 28 31 2b 20 6d 61 74 63 68 .....(setq.chunk-start.(1+.match
11c40 2d 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 -pos))).............(t..........
11c60 20 20 20 20 3b 3b 20 52 65 73 65 74 20 43 4f 4c 55 4d 4e 20 61 74 20 62 65 67 69 6e 6e 69 6e 67 ....;;.Reset.COLUMN.at.beginning
11c80 20 6f 66 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c .of.line...............(setq.col
11ca0 75 6d 6e 20 30 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 2d 6d 61 74 63 68 20 umn.0))).......(setq.last-match.
11cc0 28 31 2b 20 6d 61 74 63 68 2d 70 6f 73 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 6e 6f 20 63 68 (1+.match-pos))).....;;.If.no.ch
11ce0 75 6e 6b 73 20 68 61 76 65 20 62 65 65 6e 20 61 6c 6c 6f 63 61 74 65 64 2c 20 69 74 20 6d 65 61 unks.have.been.allocated,.it.mea
11d00 6e 73 20 74 68 65 72 65 20 68 61 76 65 20 62 65 65 6e 20 6e 6f 0a 20 20 20 20 3b 3b 20 74 61 62 ns.there.have.been.no.....;;.tab
11d20 73 20 74 6f 20 65 78 70 61 6e 64 2e 20 20 52 65 74 75 72 6e 20 54 45 58 54 20 75 6e 6d 6f 64 69 s.to.expand...Return.TEXT.unmodi
11d40 66 69 65 64 2e 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 63 68 75 6e 6b 73 29 0a 20 20 20 20 fied......(if.(null.chunks).....
11d60 20 20 20 20 74 65 78 74 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 63 68 75 6e 6b 2d 73 74 ....text.......(when.(<.chunk-st
11d80 61 72 74 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 50 75 art.(length.text)).........;;.Pu
11da0 73 68 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 63 68 75 6e 6b 2e 0a 20 20 20 20 20 20 20 20 sh.the.remaining.chunk..........
11dc0 28 70 75 73 68 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 63 68 75 6e 6b 2d 73 74 61 72 (push.(substring.text.chunk-star
11de0 74 29 20 63 68 75 6e 6b 73 29 29 0a 20 20 20 20 20 20 3b 3b 20 47 65 6e 65 72 61 74 65 20 74 68 t).chunks)).......;;.Generate.th
11e00 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 63 68 75 6e e.output.from.the.available.chun
11e20 6b 73 2e 0a 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 ks........(htmlize-concat.(nreve
11e40 72 73 65 20 63 68 75 6e 6b 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d rse.chunks)))))..(defun.htmlize-
11e60 65 78 74 72 61 63 74 2d 74 65 78 74 20 28 62 65 67 20 65 6e 64 20 74 72 61 69 6c 69 6e 67 2d 65 extract-text.(beg.end.trailing-e
11e80 6c 6c 69 70 73 69 73 29 0a 20 20 3b 3b 20 45 78 74 72 61 63 74 20 62 75 66 66 65 72 20 74 65 78 llipsis)...;;.Extract.buffer.tex
11ea0 74 2c 20 73 61 6e 73 20 74 68 65 20 69 6e 76 69 73 69 62 6c 65 20 70 61 72 74 73 2e 20 20 54 68 t,.sans.the.invisible.parts...Th
11ec0 65 6e 0a 20 20 3b 3b 20 75 6e 74 61 62 69 66 79 20 69 74 20 61 6e 64 20 65 73 63 61 70 65 20 74 en...;;.untabify.it.and.escape.t
11ee0 68 65 20 48 54 4d 4c 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 28 6c 65 74 20 28 he.HTML.metacharacters....(let.(
11f00 28 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d (text.(htmlize-buffer-substring-
11f20 6e 6f 2d 69 6e 76 69 73 69 62 6c 65 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 28 77 68 65 no-invisible.beg.end))).....(whe
11f40 6e 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 n.trailing-ellipsis.......(setq.
11f60 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 74 72 69 6d 2d 65 6c 6c 69 70 73 69 73 20 74 65 78 74 text.(htmlize-trim-ellipsis.text
11f80 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 54 45 58 54 20 65 6e 64 73 20 75 70 20 65 6d 70 74 79 ))).....;;.If.TEXT.ends.up.empty
11fa0 2c 20 64 6f 6e 27 74 20 63 68 61 6e 67 65 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 ,.don't.change.trailing-ellipsis
11fc0 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 3e 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 20 30 29 0a ......(when.(>.(length.text).0).
11fe0 20 20 20 20 20 20 28 73 65 74 71 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 0a 20 20 ......(setq.trailing-ellipsis...
12000 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 74 79 20 28 31 2d ..........(get-text-property.(1-
12020 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(length.text)).................
12040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 ...............'htmlize-ellipsis
12060 20 74 65 78 74 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 .text))).....(when.htmlize-untab
12080 69 66 79 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 75 6e ify.......(setq.text.(htmlize-un
120a0 74 61 62 69 66 79 2d 73 74 72 69 6e 67 20 74 65 78 74 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 tabify-string.text.(current-colu
120c0 6d 6e 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 73 mn)))).....(setq.text.(htmlize-s
120e0 74 72 69 6e 67 2d 74 6f 2d 68 74 6d 6c 20 74 65 78 74 29 29 0a 20 20 20 20 28 63 6c 2d 76 61 6c tring-to-html.text)).....(cl-val
12100 75 65 73 20 74 65 78 74 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 29 29 29 0a 0a 28 ues.text.trailing-ellipsis)))..(
12120 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 73 70 61 6d 2d 61 64 64 72 65 73 73 20 28 73 74 defun.htmlize-despam-address.(st
12140 72 69 6e 67 29 0a 20 20 22 52 65 70 6c 61 63 65 20 65 76 65 72 79 20 6f 63 63 75 72 72 65 6e 63 ring)..."Replace.every.occurrenc
12160 65 20 6f 66 20 27 40 27 20 69 6e 20 53 54 52 49 4e 47 20 77 69 74 68 20 25 34 30 2e 0a 54 68 69 e.of.'@'.in.STRING.with.%40..Thi
12180 73 20 69 73 20 75 73 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 6d 61 69 6c 74 6f 20 6c 69 6e 6b s.is.used.to.protect.mailto.link
121a0 73 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 69 72 20 6d 65 61 6e 69 6e s.without.modifying.their.meanin
121c0 67 2e 22 0a 20 20 3b 3b 20 53 75 67 67 65 73 74 65 64 20 62 79 20 56 69 6c 6c 65 20 53 6b 79 74 g."...;;.Suggested.by.Ville.Skyt
121e0 74 61 2e 0a 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 40 22 20 73 ta....(while.(string-match."@".s
12200 74 72 69 6e 67 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 72 65 70 6c 61 63 65 tring).....(setq.string.(replace
12220 2d 6d 61 74 63 68 20 22 25 34 30 22 20 6e 69 6c 20 74 20 73 74 72 69 6e 67 29 29 29 0a 20 20 73 -match."%40".nil.t.string)))...s
12240 74 72 69 6e 67 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 74 6d 70 2d tring)..(defun.htmlize-make-tmp-
12260 6f 76 65 72 6c 61 79 20 28 62 65 67 20 65 6e 64 20 70 72 6f 70 73 29 0a 20 20 28 6c 65 74 20 28 overlay.(beg.end.props)...(let.(
12280 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 20 65 6e 64 29 29 (overlay.(make-overlay.beg.end))
122a0 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 20 27 68 74 6d 6c ).....(overlay-put.overlay.'html
122c0 69 7a 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 20 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 70 72 ize-tmp-overlay.t).....(while.pr
122e0 6f 70 73 0a 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 65 72 6c 61 79 20 28 ops.......(overlay-put.overlay.(
12300 70 6f 70 20 70 72 6f 70 73 29 20 28 70 6f 70 20 70 72 6f 70 73 29 29 29 0a 20 20 20 20 6f 76 65 pop.props).(pop.props))).....ove
12320 72 6c 61 79 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 6c 65 74 65 2d 74 6d rlay))..(defun.htmlize-delete-tm
12340 70 2d 6f 76 65 72 6c 61 79 73 20 28 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 6f 76 65 72 6c 61 79 p-overlays.()...(dolist.(overlay
12360 20 28 6f 76 65 72 6c 61 79 73 2d 69 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 .(overlays-in.(point-min).(point
12380 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f -max))).....(when.(overlay-get.o
123a0 76 65 72 6c 61 79 20 27 68 74 6d 6c 69 7a 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 29 0a 20 20 20 verlay.'htmlize-tmp-overlay)....
123c0 20 20 20 28 64 65 6c 65 74 65 2d 6f 76 65 72 6c 61 79 20 6f 76 65 72 6c 61 79 29 29 29 29 0a 0a ...(delete-overlay.overlay))))..
123e0 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 6c 69 6e 6b 2d 6f 76 65 72 6c 61 79 (defun.htmlize-make-link-overlay
12400 20 28 62 65 67 20 65 6e 64 20 75 72 69 29 0a 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 74 .(beg.end.uri)...(htmlize-make-t
12420 6d 70 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 60 28 68 74 6d 6c 69 7a 65 2d 6c 69 6e mp-overlay.beg.end.`(htmlize-lin
12440 6b 20 28 3a 75 72 69 20 2c 75 72 69 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 k.(:uri.,uri))))..(defun.htmlize
12460 2d 63 72 65 61 74 65 2d 61 75 74 6f 2d 6c 69 6e 6b 73 20 28 29 0a 20 20 22 41 64 64 20 60 68 74 -create-auto-links.()..."Add.`ht
12480 6d 6c 69 7a 65 2d 6c 69 6e 6b 27 20 70 72 6f 70 65 72 74 79 20 74 6f 20 61 6c 6c 20 6d 61 69 6c mlize-link'.property.to.all.mail
124a0 74 6f 20 6c 69 6e 6b 73 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 61 76 65 to.links.in.the.buffer."...(save
124c0 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 -excursion.....(goto-char.(point
124e0 2d 6d 69 6e 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 -min)).....(while.(re-search-for
12500 77 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 5c 5c 28 5c 5c 28 6d 61 69 6c 74 6f 3a ward............."<\\(\\(mailto:
12520 5c 5c 29 3f 5c 5c 28 5b 2d 3d 2b 5f 2e 61 2d 7a 41 2d 5a 30 2d 39 5d 2b 40 5b 2d 5f 2e 61 2d 7a \\)?\\([-=+_.a-zA-Z0-9]+@[-_.a-z
12540 41 2d 5a 30 2d 39 5d 2b 5c 5c 29 5c 5c 29 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c A-Z0-9]+\\)\\)>".............nil
12560 20 74 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6d 61 74 63 68 .t).......(let*.((address.(match
12580 2d 73 74 72 69 6e 67 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 20 28 6d -string.3))..............(beg.(m
125a0 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 20 28 65 6e 64 20 28 6d 61 74 63 68 2d 65 atch-beginning.0)).(end.(match-e
125c0 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 69 20 28 63 6f 6e 63 61 74 nd.0))..............(uri.(concat
125e0 20 22 6d 61 69 6c 74 6f 3a 22 20 28 68 74 6d 6c 69 7a 65 2d 64 65 73 70 61 6d 2d 61 64 64 72 65 ."mailto:".(htmlize-despam-addre
12600 73 73 20 61 64 64 72 65 73 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d ss.address)))).........(htmlize-
12620 6d 61 6b 65 2d 6c 69 6e 6b 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 75 72 69 29 29 29 make-link-overlay.beg.end.uri)))
12640 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 20 20 .....(goto-char.(point-min))....
12660 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 3c 5c 5c 28 .(while.(re-search-forward."<\\(
12680 5c 5c 28 55 52 4c 3a 5c 5c 29 3f 5c 5c 28 5b 61 2d 7a 41 2d 5a 5d 2b 3a 2f 2f 5b 5e 3b 5d 2b 5c \\(URL:\\)?\\([a-zA-Z]+://[^;]+\
126a0 5c 29 5c 5c 29 3e 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 \)\\)>".........................
126c0 20 20 20 20 20 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 ......nil.t).......(htmlize-make
126e0 2d 6c 69 6e 6b 2d 6f 76 65 72 6c 61 79 0a 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 62 65 67 69 -link-overlay........(match-begi
12700 6e 6e 69 6e 67 20 30 29 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 20 28 6d 61 74 63 68 2d 73 74 nning.0).(match-end.0).(match-st
12720 72 69 6e 67 20 33 29 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 54 65 73 74 73 20 66 6f 72 20 68 74 6d ring.3)))))....;;;.Tests.for.htm
12740 6c 69 7a 65 2d 63 72 65 61 74 65 2d 61 75 74 6f 2d 6c 69 6e 6b 73 3a 0a 0a 3b 3b 20 3c 6d 61 69 lize-create-auto-links:..;;.<mai
12760 6c 74 6f 3a 68 6e 69 6b 73 69 63 40 78 65 6d 61 63 73 2e 6f 72 67 3e 0a 3b 3b 20 3c 68 74 74 70 lto:hniksic@xemacs.org>.;;.<http
12780 3a 2f 2f 66 6c 79 2e 73 72 6b 2e 66 65 72 2e 68 72 3e 0a 3b 3b 20 3c 55 52 4c 3a 68 74 74 70 3a ://fly.srk.fer.hr>.;;.<URL:http:
127a0 2f 2f 77 77 77 2e 78 65 6d 61 63 73 2e 6f 72 67 3e 0a 3b 3b 20 3c 68 74 74 70 3a 2f 2f 77 77 77 //www.xemacs.org>.;;.<http://www
127c0 2e 6d 61 69 6c 2d 61 72 63 68 69 76 65 2e 63 6f 6d 2f 62 62 64 62 2d 69 6e 66 6f 40 78 65 6d 61 .mail-archive.com/bbdb-info@xema
127e0 63 73 2e 6f 72 67 2f 3e 0a 3b 3b 20 3c 68 6e 69 6b 73 69 63 40 78 65 6d 61 63 73 2e 6f 72 67 3e cs.org/>.;;.<hniksic@xemacs.org>
12800 0a 3b 3b 20 3c 78 61 6c 61 6e 2d 64 65 76 2d 73 63 2e 31 30 31 34 38 35 36 37 33 31 39 2e 68 61 .;;.<xalan-dev-sc.10148567319.ha
12820 63 75 68 69 75 63 6b 6e 66 67 6d 70 66 6e 6a 63 70 67 2d 6a 6f 68 6e 3d 64 6f 65 2e 63 6f 6d 40 cuhiucknfgmpfnjcpg-john=doe.com@
12840 78 6d 6c 2e 61 70 61 63 68 65 2e 6f 72 67 3e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d xml.apache.org>..(defun.htmlize-
12860 73 68 61 64 6f 77 2d 66 6f 72 6d 2d 66 65 65 64 73 20 28 29 0a 20 20 28 6c 65 74 20 28 28 73 20 shadow-form-feeds.()...(let.((s.
12880 28 70 72 6f 70 65 72 74 69 7a 65 20 22 5c 6e 3c 68 72 20 2f 3e 22 20 27 68 74 6d 6c 69 7a 65 2d (propertize."\n<hr./>".'htmlize-
128a0 6c 69 74 65 72 61 6c 20 74 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 64 69 73 70 20 60 28 64 literal.t))).....(let.((disp.`(d
128c0 69 73 70 6c 61 79 20 2c 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 isplay.,s))).......(while.(re-se
128e0 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 6e 5c 5e 4c 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 arch-forward."\n\^L".nil.t).....
12900 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 ....(let*.((beg.(match-beginning
12920 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 6d 61 74 63 68 2d .0))................(end.(match-
12940 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 2d 66 65 65 end.0))................(form-fee
12960 64 2d 70 6f 73 20 28 31 2b 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b d-pos.(1+.beg))................;
12980 3b 20 64 6f 6e 27 74 20 70 72 6f 63 65 73 73 20 5e 4c 20 69 66 20 69 6e 76 69 73 69 62 6c 65 20 ;.don't.process.^L.if.invisible.
129a0 6f 72 20 63 6f 76 65 72 65 64 20 62 79 20 60 64 69 73 70 6c 61 79 27 0a 20 20 20 20 20 20 20 20 or.covered.by.`display'.........
129c0 20 20 20 20 20 20 20 28 73 68 6f 77 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 .......(show.(and.(htmlize-decod
129e0 65 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 e-invisibility-spec.............
12a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 ...............(get-char-propert
12a20 79 20 66 6f 72 6d 2d 66 65 65 64 2d 70 6f 73 20 27 69 6e 76 69 73 69 62 6c 65 29 29 0a 20 20 20 y.form-feed-pos.'invisible))....
12a40 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 67 65 74 .......................(not.(get
12a60 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 66 6f 72 6d 2d 66 65 65 64 2d 70 6f 73 20 27 64 69 -char-property.form-feed-pos.'di
12a80 73 70 6c 61 79 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 73 68 6f 77 0a splay)))))...........(when.show.
12aa0 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 74 6d 70 2d 6f 76 ............(htmlize-make-tmp-ov
12ac0 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 64 69 73 70 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 erlay.beg.end.disp)))))))..(defu
12ae0 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 66 61 6e 67 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 n.htmlize-defang-local-variables
12b00 20 28 29 0a 20 20 3b 3b 20 4a 75 72 69 20 4c 69 6e 6b 6f 76 20 72 65 70 6f 72 74 73 20 74 68 61 .()...;;.Juri.Linkov.reports.tha
12b20 74 20 61 6e 20 48 54 4d 4c 2d 69 7a 65 64 20 22 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 22 t.an.HTML-ized."Local.variables"
12b40 20 63 61 6e 20 6c 65 61 64 0a 20 20 3b 3b 20 76 69 73 69 74 69 6e 67 20 74 68 65 20 48 54 4d 4c .can.lead...;;.visiting.the.HTML
12b60 20 74 6f 20 66 61 69 6c 20 77 69 74 68 20 22 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6c .to.fail.with."Local.variables.l
12b80 69 73 74 20 69 73 20 6e 6f 74 0a 20 20 3b 3b 20 70 72 6f 70 65 72 6c 79 20 74 65 72 6d 69 6e 61 ist.is.not...;;.properly.termina
12ba0 74 65 64 22 2e 20 20 48 65 20 73 75 67 67 65 73 74 65 64 20 63 68 61 6e 67 69 6e 67 20 74 68 65 ted"...He.suggested.changing.the
12bc0 20 70 68 72 61 73 65 20 74 6f 0a 20 20 3b 3b 20 73 79 6e 74 61 63 74 69 63 61 6c 6c 79 20 65 71 .phrase.to...;;.syntactically.eq
12be0 75 69 76 61 6c 65 6e 74 20 48 54 4d 4c 20 74 68 61 74 20 45 6d 61 63 73 20 64 6f 65 73 6e 27 74 uivalent.HTML.that.Emacs.doesn't
12c00 20 72 65 63 6f 67 6e 69 7a 65 2e 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d .recognize....(goto-char.(point-
12c20 6d 69 6e 29 29 0a 20 20 28 77 68 69 6c 65 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 min))...(while.(search-forward."
12c40 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 72 65 Local.Variables:".nil.t).....(re
12c60 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 26 23 35 38 place-match."Local.Variables&#58
12c80 3b 22 20 6e 69 6c 20 74 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 43 6f 6c 6f 72 20 68 61 6e 64 6c 69 6e ;".nil.t)))....;;;.Color.handlin
12ca0 67 2e 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 78 2d 6c 69 62 72 61 72 79 2d 73 65 g...(defvar.htmlize-x-library-se
12cc0 61 72 63 68 2d 70 61 74 68 0a 20 20 60 28 2c 64 61 74 61 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 arch-path...`(,data-directory...
12ce0 20 20 22 2f 65 74 63 2f 58 31 31 2f 72 67 62 2e 74 78 74 22 0a 20 20 20 20 22 2f 75 73 72 2f 73 .."/etc/X11/rgb.txt"....."/usr/s
12d00 68 61 72 65 2f 58 31 31 2f 72 67 62 2e 74 78 74 22 0a 20 20 20 20 3b 3b 20 74 68 65 20 72 65 6d hare/X11/rgb.txt".....;;.the.rem
12d20 61 69 6e 64 65 72 20 6f 66 20 74 68 69 73 20 6c 69 73 74 20 72 65 61 6c 6c 79 20 62 65 6c 6f 6e ainder.of.this.list.really.belon
12d40 67 73 20 69 6e 20 61 20 6d 75 73 65 75 6d 0a 20 20 20 20 22 2f 75 73 72 2f 58 31 31 52 36 2f 6c gs.in.a.museum....."/usr/X11R6/l
12d60 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 58 31 31 52 35 2f 6c 69 62 2f 58 31 31 ib/X11/"....."/usr/X11R5/lib/X11
12d80 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 69 62 2f 58 31 31 52 36 2f 58 31 31 2f 22 0a 20 20 20 /"....."/usr/lib/X11R6/X11/"....
12da0 20 22 2f 75 73 72 2f 6c 69 62 2f 58 31 31 52 35 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 ."/usr/lib/X11R5/X11/"....."/usr
12dc0 2f 6c 6f 63 61 6c 2f 58 31 31 52 36 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 /local/X11R6/lib/X11/"....."/usr
12de0 2f 6c 6f 63 61 6c 2f 58 31 31 52 35 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 /local/X11R5/lib/X11/"....."/usr
12e00 2f 6c 6f 63 61 6c 2f 6c 69 62 2f 58 31 31 52 36 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 /local/lib/X11R6/X11/"....."/usr
12e20 2f 6c 6f 63 61 6c 2f 6c 69 62 2f 58 31 31 52 35 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 /local/lib/X11R5/X11/"....."/usr
12e40 2f 58 31 31 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 69 62 2f 58 31 31 /X11/lib/X11/"....."/usr/lib/X11
12e60 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 /"....."/usr/local/lib/X11/"....
12e80 20 22 2f 75 73 72 2f 58 33 38 36 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f ."/usr/X386/lib/X11/"....."/usr/
12ea0 78 33 38 36 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 58 46 72 65 65 38 36 x386/lib/X11/"....."/usr/XFree86
12ec0 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 75 6e 73 75 70 70 6f 72 74 65 64 /lib/X11/"....."/usr/unsupported
12ee0 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 61 74 68 65 6e 61 2f 6c 69 62 2f /lib/X11/"....."/usr/athena/lib/
12f00 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 78 31 31 72 35 2f 6c 69 62 2f X11/"....."/usr/local/x11r5/lib/
12f20 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 70 70 2f 58 61 6d 70 6c 65 73 2f 6c 69 62 2f X11/"....."/usr/lpp/Xamples/lib/
12f40 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6f 70 65 6e 77 69 6e 2f 6c 69 62 2f 58 31 31 2f X11/"....."/usr/openwin/lib/X11/
12f60 22 0a 20 20 20 20 22 2f 75 73 72 2f 6f 70 65 6e 77 69 6e 2f 73 68 61 72 65 2f 6c 69 62 2f 58 31 "....."/usr/openwin/share/lib/X1
12f80 31 2f 22 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 63 6f 6c 6f 72 2d 1/"))..(defun.htmlize-get-color-
12fa0 72 67 62 2d 68 61 73 68 20 28 26 6f 70 74 69 6f 6e 61 6c 20 72 67 62 2d 66 69 6c 65 29 0a 20 20 rgb-hash.(&optional.rgb-file)...
12fc0 22 52 65 74 75 72 6e 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 6d 61 70 70 69 6e 67 20 58 20 63 "Return.a.hash.table.mapping.X.c
12fe0 6f 6c 6f 72 20 6e 61 6d 65 73 20 74 6f 20 52 47 42 20 76 61 6c 75 65 73 2e 0a 54 68 65 20 6b 65 olor.names.to.RGB.values..The.ke
13000 79 73 20 69 6e 20 74 68 65 20 68 61 73 68 20 74 61 62 6c 65 20 61 72 65 20 58 31 31 20 63 6f 6c ys.in.the.hash.table.are.X11.col
13020 6f 72 20 6e 61 6d 65 73 2c 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 or.names,.and.the.values.are.the
13040 0a 23 72 72 67 67 62 62 20 52 47 42 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 2c 20 65 78 74 .#rrggbb.RGB.specifications,.ext
13060 72 61 63 74 65 64 20 66 72 6f 6d 20 60 72 67 62 2e 74 78 74 27 2e 0a 0a 49 66 20 52 47 42 2d 46 racted.from.`rgb.txt'...If.RGB-F
13080 49 4c 45 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 74 72 ILE.is.nil,.the.function.will.tr
130a0 79 20 68 61 72 64 20 74 6f 20 66 69 6e 64 20 61 20 73 75 69 74 61 62 6c 65 20 66 69 6c 65 0a 69 y.hard.to.find.a.suitable.file.i
130c0 6e 20 74 68 65 20 73 79 73 74 65 6d 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 0a 49 66 20 6e 6f n.the.system.directories...If.no
130e0 20 72 67 62 2e 74 78 74 20 66 69 6c 65 20 69 73 20 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 20 6e .rgb.txt.file.is.found,.return.n
13100 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 67 62 2d 66 69 6c 65 20 28 6f 72 20 72 67 62 2d 66 il."...(let.((rgb-file.(or.rgb-f
13120 69 6c 65 20 28 6c 6f 63 61 74 65 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile.(locate-file................
13140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 67 62 2e 74 78 74 22 0a 20 20 20 20 20 ................."rgb.txt"......
13160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 69 ...........................htmli
13180 7a 65 2d 78 2d 6c 69 62 72 61 72 79 2d 73 65 61 72 63 68 2d 70 61 74 68 29 29 29 0a 20 20 20 20 ze-x-library-search-path))).....
131a0 20 20 20 20 28 68 61 73 68 20 6e 69 6c 29 29 0a 20 20 20 20 28 77 68 65 6e 20 72 67 62 2d 66 69 ....(hash.nil)).....(when.rgb-fi
131c0 6c 65 0a 20 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 le.......(with-temp-buffer......
131e0 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 72 67 62 2d 66 69 6c ...(insert-file-contents.rgb-fil
13200 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 61 73 68 20 28 6d 61 6b 65 2d 68 61 73 68 e).........(setq.hash.(make-hash
13220 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 77 -table.:test.'equal)).........(w
13240 68 69 6c 65 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e hile.(not.(eobp))...........(con
13260 64 20 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5e 5c 5c 73 2d 2a 5c 5c 28 5b 21 23 5d 5c 5c 7c d.((looking-at."^\\s-*\\([!#]\\|
13280 24 5c 5c 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6b 69 70 20 $\\)")..................;;.Skip.
132a0 63 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 65 6d 70 74 79 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 comments.and.empty.lines........
132c0 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 20 20 20 20 28 28 6c ...........).................((l
132e0 6f 6f 6b 69 6e 67 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5b 20 5c ooking-at..................."[.\
13300 74 5d 2a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5b 20 5c 74 5d 2b 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c t]*\\([0-9]+\\)[.\t]+\\([0-9]+\\
13320 29 5b 20 5c 74 5d 2b 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5b 20 5c 74 5d 2b 5c 5c 28 2e 2a 5c 5c )[.\t]+\\([0-9]+\\)[.\t]+\\(.*\\
13340 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 )")..................(setf.(geth
13360 61 73 68 20 28 64 6f 77 6e 63 61 73 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 34 29 29 20 ash.(downcase.(match-string.4)).
13380 68 61 73 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 28 66 6f hash)........................(fo
133a0 72 6d 61 74 20 22 23 25 30 32 78 25 30 32 78 25 30 32 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 rmat."#%02x%02x%02x"............
133c0 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 2d 74 6f 2d 6e ....................(string-to-n
133e0 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 0a 20 20 20 20 20 20 20 20 umber.(match-string.1)).........
13400 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 2d 74 .......................(string-t
13420 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 29 29 0a 20 20 20 20 20 o-number.(match-string.2))......
13440 20 20 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 ..........................(strin
13460 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 29 29 29 29 29 g-to-number.(match-string.3)))))
13480 0a 20 20 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 .................(t.............
134a0 20 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 .....(error..................."U
134c0 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6c 69 6e 65 20 69 6e 20 25 73 3a 20 25 73 22 0a 20 20 20 20 nrecognized.line.in.%s:.%s".....
134e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 67 62 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 ..............rgb-file..........
13500 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e .........(buffer-substring.(poin
13520 74 29 20 28 70 72 6f 67 6e 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 20 28 70 6f 69 6e 74 29 29 t).(progn.(end-of-line).(point))
13540 29 29 29 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 29 ))))...........(forward-line.1))
13560 29 29 0a 20 20 20 20 68 61 73 68 29 29 0a 0a 3b 3b 20 43 6f 6d 70 69 6c 65 20 74 68 65 20 52 47 )).....hash))..;;.Compile.the.RG
13580 42 20 6d 61 70 20 77 68 65 6e 20 6c 6f 61 64 65 64 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 20 77 B.map.when.loaded...On.systems.w
135a0 68 65 72 65 20 72 67 62 2e 74 78 74 20 69 73 0a 3b 3b 20 6d 69 73 73 69 6e 67 2c 20 74 68 65 20 here.rgb.txt.is.;;.missing,.the.
135c0 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 6e 69 value.of.the.variable.will.be.ni
135e0 6c 2c 20 61 6e 64 20 72 67 62 2e 74 78 74 20 77 69 6c 6c 0a 3b 3b 20 6e 6f 74 20 62 65 20 75 73 l,.and.rgb.txt.will.;;.not.be.us
13600 65 64 2e 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 ed..(defvar.htmlize-color-rgb-ha
13620 73 68 20 28 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 29 29 sh.(htmlize-get-color-rgb-hash))
13640 0a 0a 0c 0a 3b 3b 3b 20 46 61 63 65 20 68 61 6e 64 6c 69 6e 67 2e 0a 0a 28 64 65 66 75 6e 20 68 ....;;;.Face.handling...(defun.h
13660 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 28 66 61 63 65 tmlize-face-color-internal.(face
13680 20 66 67 29 0a 20 20 3b 3b 20 55 73 65 64 20 6f 6e 6c 79 20 75 6e 64 65 72 20 47 4e 55 20 45 6d .fg)...;;.Used.only.under.GNU.Em
136a0 61 63 73 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6c 6f 72 20 6f 66 20 46 41 43 45 2c 20 acs...Return.the.color.of.FACE,.
136c0 62 75 74 20 64 6f 6e 27 74 0a 20 20 3b 3b 20 72 65 74 75 72 6e 20 22 75 6e 73 70 65 63 69 66 69 but.don't...;;.return."unspecifi
136e0 65 64 2d 66 67 22 20 6f 72 20 22 75 6e 73 70 65 63 69 66 69 65 64 2d 62 67 22 2e 20 20 49 66 20 ed-fg".or."unspecified-bg"...If.
13700 74 68 65 20 66 61 63 65 20 69 73 0a 20 20 3b 3b 20 60 64 65 66 61 75 6c 74 27 20 61 6e 64 20 74 the.face.is...;;.`default'.and.t
13720 68 65 20 63 6f 6c 6f 72 20 69 73 20 75 6e 73 70 65 63 69 66 69 65 64 2c 20 6c 6f 6f 6b 20 75 70 he.color.is.unspecified,.look.up
13740 20 74 68 65 20 63 6f 6c 6f 72 20 69 6e 0a 20 20 3b 3b 20 66 72 61 6d 65 20 70 61 72 61 6d 65 74 .the.color.in...;;.frame.paramet
13760 65 72 73 2e 0a 20 20 28 6c 65 74 2a 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 69 66 20 66 67 20 23 ers....(let*.((function.(if.fg.#
13780 27 66 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 20 23 27 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 'face-foreground.#'face-backgrou
137a0 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 20 28 66 75 6e 63 61 6c 6c 20 66 75 nd))..........(color.(funcall.fu
137c0 6e 63 74 69 6f 6e 20 66 61 63 65 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 nction.face.nil.t))).....(when.(
137e0 61 6e 64 20 28 65 71 20 66 61 63 65 20 27 64 65 66 61 75 6c 74 29 20 28 6e 75 6c 6c 20 63 6f 6c and.(eq.face.'default).(null.col
13800 6f 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 6f 72 20 28 63 64 72 20 28 61 73 73 or)).......(setq.color.(cdr.(ass
13820 71 20 28 69 66 20 66 67 20 27 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 27 62 61 63 6b q.(if.fg.'foreground-color.'back
13840 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ground-color)...................
13860 20 20 20 20 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 70 61 72 61 6d 65 74 65 72 73 29 29 29 29 ...........(frame-parameters))))
13880 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 65 71 20 63 6f 6c 6f 72 20 27 75 6e 73 70 65 ).....(when.(or.(eq.color.'unspe
138a0 63 69 66 69 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 63 6f 6c cified)...............(equal.col
138c0 6f 72 20 22 75 6e 73 70 65 63 69 66 69 65 64 2d 66 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 or."unspecified-fg")............
138e0 20 20 20 28 65 71 75 61 6c 20 63 6f 6c 6f 72 20 22 75 6e 73 70 65 63 69 66 69 65 64 2d 62 67 22 ...(equal.color."unspecified-bg"
13900 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 6f 72 20 6e 69 6c 29 29 0a 20 20 20 20 28 )).......(setq.color.nil)).....(
13920 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 66 61 63 65 20 27 64 65 66 61 75 6c 74 29 0a 20 20 20 when.(and.(eq.face.'default)....
13940 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 ............(null.color)).......
13960 3b 3b 20 41 73 73 75 6d 69 6e 67 20 62 6c 61 63 6b 20 6f 6e 20 77 68 69 74 65 20 64 6f 65 73 6e ;;.Assuming.black.on.white.doesn
13980 27 74 20 73 65 65 6d 20 72 69 67 68 74 2c 20 62 75 74 20 49 20 63 61 6e 27 74 20 74 68 69 6e 6b 't.seem.right,.but.I.can't.think
139a0 0a 20 20 20 20 20 20 3b 3b 20 6f 66 20 61 6e 79 74 68 69 6e 67 20 62 65 74 74 65 72 20 74 6f 20 .......;;.of.anything.better.to.
139c0 64 6f 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 6f 72 20 28 69 66 20 66 67 20 22 62 6c do........(setq.color.(if.fg."bl
139e0 61 63 6b 22 20 22 77 68 69 74 65 22 29 29 29 0a 20 20 20 20 63 6f 6c 6f 72 29 29 0a 0a 28 64 65 ack"."white"))).....color))..(de
13a00 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 20 28 66 61 63 fun.htmlize-face-foreground.(fac
13a20 65 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 e)...;;.Return.the.name.of.the.f
13a40 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 6f 66 20 46 41 43 45 2e 20 20 49 66 20 46 41 43 oreground.color.of.FACE...If.FAC
13a60 45 20 64 6f 65 73 0a 20 20 3b 3b 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 66 6f 72 65 67 72 E.does...;;.not.specify.a.foregr
13a80 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 20 20 28 68 74 6d 6c 69 ound.color,.return.nil....(htmli
13aa0 7a 65 2d 66 61 63 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 66 61 63 65 20 74 29 29 0a ze-face-color-internal.face.t)).
13ac0 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 .(defun.htmlize-face-background.
13ae0 28 66 61 63 65 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 (face)...;;.Return.the.name.of.t
13b00 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 6f 66 20 46 41 43 45 2e 20 20 49 66 he.background.color.of.FACE...If
13b20 20 46 41 43 45 20 64 6f 65 73 0a 20 20 3b 3b 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 62 61 .FACE.does...;;.not.specify.a.ba
13b40 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 20 20 3b 3b ckground.color,.return.nil....;;
13b60 20 47 4e 55 20 45 6d 61 63 73 2e 0a 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 63 6f 6c 6f .GNU.Emacs....(htmlize-face-colo
13b80 72 2d 69 6e 74 65 72 6e 61 6c 20 66 61 63 65 20 6e 69 6c 29 29 0a 0a 3b 3b 20 43 6f 6e 76 65 72 r-internal.face.nil))..;;.Conver
13ba0 74 20 43 4f 4c 4f 52 20 74 6f 20 74 68 65 20 23 52 52 47 47 42 42 20 73 74 72 69 6e 67 2e 20 20 t.COLOR.to.the.#RRGGBB.string...
13bc0 49 66 20 43 4f 4c 4f 52 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 74 68 61 74 0a 3b 3b 20 66 If.COLOR.is.already.in.that.;;.f
13be0 6f 72 6d 61 74 2c 20 69 74 27 73 20 6c 65 66 74 20 75 6e 63 68 61 6e 67 65 64 2e 0a 0a 28 64 65 ormat,.it's.left.unchanged...(de
13c00 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 20 28 63 6f 6c 6f 72 29 fun.htmlize-color-to-rgb.(color)
13c20 0a 20 20 28 6c 65 74 20 28 28 72 67 62 2d 73 74 72 69 6e 67 20 6e 69 6c 29 29 0a 20 20 20 20 28 ...(let.((rgb-string.nil)).....(
13c40 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b cond.((null.color)............;;
13c60 20 49 67 6e 6f 72 65 20 6e 69 6c 20 43 4f 4c 4f 52 20 62 65 63 61 75 73 65 20 69 74 20 6d 65 61 .Ignore.nil.COLOR.because.it.mea
13c80 6e 73 20 74 68 61 74 20 74 68 65 20 66 61 63 65 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 ns.that.the.face.is.not.........
13ca0 20 20 20 3b 3b 20 73 70 65 63 69 66 79 69 6e 67 20 61 6e 79 20 63 6f 6c 6f 72 2e 20 20 48 65 6e ...;;.specifying.any.color...Hen
13cc0 63 65 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 20 6e 69 6c 29 0a 20 20 ce.(htmlize-color-to-rgb.nil)...
13ce0 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 .........;;.returns.nil.........
13d00 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 ....)...........((string-match."
13d20 5c 5c 60 23 5b 30 2d 39 61 2d 66 41 2d 46 5d 5c 5c 7b 36 5c 5c 7d 22 20 63 6f 6c 6f 72 29 0a 20 \\`#[0-9a-fA-F]\\{6\\}".color)..
13d40 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 63 6f 6c 6f 72 20 69 73 20 61 6c 72 65 61 64 ..........;;.The.color.is.alread
13d60 79 20 69 6e 20 23 72 72 67 67 62 62 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 y.in.#rrggbb.format.............
13d80 28 73 65 74 71 20 72 67 62 2d 73 74 72 69 6e 67 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 (setq.rgb-string.color))........
13da0 20 20 20 28 28 61 6e 64 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 72 67 62 2d 74 78 74 0a 20 20 20 ...((and.htmlize-use-rgb-txt....
13dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 .............htmlize-color-rgb-h
13de0 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 6f 66 20 72 67 62 2e 74 78 ash)............;;.Use.of.rgb.tx
13e00 74 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 61 6e 64 20 69 74 27 73 20 61 76 61 69 6c 61 62 t.is.requested,.and.it's.availab
13e20 6c 65 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 79 73 74 65 6d 2e 20 le.on.the............;;.system..
13e40 20 55 73 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 67 62 2d 73 74 .Use.it.............(setq.rgb-st
13e60 72 69 6e 67 20 28 67 65 74 68 61 73 68 20 28 64 6f 77 6e 63 61 73 65 20 63 6f 6c 6f 72 29 20 68 ring.(gethash.(downcase.color).h
13e80 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 29 29 29 0a 20 20 20 20 20 20 20 tmlize-color-rgb-hash)))........
13ea0 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 27 72 65 20 67 65 74 74 69 6e ...(t............;;.We're.gettin
13ec0 67 20 74 68 65 20 52 47 42 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 66 72 6f 6d 20 45 6d 61 63 73 2e g.the.RGB.components.from.Emacs.
13ee0 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 67 62 20 28 6d 61 70 63 61 72 20 28 ............(let.((rgb.(mapcar.(
13f00 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(arg)....................
13f20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 61 72 67 20 32 35 36 29 29 0a 20 20 20 20 20 20 .............(/.arg.256)).......
13f40 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 6c 6f 72 2d 76 ........................(color-v
13f60 61 6c 75 65 73 20 63 6f 6c 6f 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 alues.color))))..............(wh
13f80 65 6e 20 72 67 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 67 62 2d en.rgb................(setq.rgb-
13fa0 73 74 72 69 6e 67 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 22 23 25 30 32 78 25 30 32 string.(apply.#'format."#%02x%02
13fc0 78 25 30 32 78 22 20 72 67 62 29 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 52 47 42 2d 53 x%02x".rgb)))))).....;;.If.RGB-S
13fe0 54 52 49 4e 47 20 69 73 20 73 74 69 6c 6c 20 6e 69 6c 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 65 TRING.is.still.nil,.it.means.the
14000 20 63 6f 6c 6f 72 20 63 61 6e 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2c 0a 20 20 20 20 3b 3b 20 66 .color.cannot.be.found,.....;;.f
14020 6f 72 20 77 68 61 74 65 76 65 72 20 72 65 61 73 6f 6e 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 or.whatever.reason...In.that.cas
14040 65 20 6a 75 73 74 20 70 75 6e 74 20 61 6e 64 20 72 65 74 75 72 6e 20 43 4f 4c 4f 52 2e 0a 20 20 e.just.punt.and.return.COLOR....
14060 20 20 3b 3b 20 4d 6f 73 74 20 62 72 6f 77 73 65 72 73 20 73 75 70 70 6f 72 74 20 61 20 64 65 63 ..;;.Most.browsers.support.a.dec
14080 65 6e 74 20 73 65 74 20 6f 66 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 20 61 6e 79 77 61 79 2e 0a 20 ent.set.of.color.names.anyway...
140a0 20 20 20 28 6f 72 20 72 67 62 2d 73 74 72 69 6e 67 20 63 6f 6c 6f 72 29 29 29 0a 0a 3b 3b 20 57 ...(or.rgb-string.color)))..;;.W
140c0 65 20 73 74 6f 72 65 20 74 68 65 20 66 61 63 65 20 70 72 6f 70 65 72 74 69 65 73 20 77 65 20 63 e.store.the.face.properties.we.c
140e0 61 72 65 20 61 62 6f 75 74 20 69 6e 74 6f 20 61 6e 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 66 73 are.about.into.an.;;.`htmlize-fs
14100 74 72 75 63 74 27 20 74 79 70 65 2e 20 20 54 68 61 74 20 77 61 79 20 77 65 20 6f 6e 6c 79 20 68 truct'.type...That.way.we.only.h
14120 61 76 65 20 74 6f 20 61 6e 61 6c 79 7a 65 20 66 61 63 65 0a 3b 3b 20 70 72 6f 70 65 72 74 69 65 ave.to.analyze.face.;;.propertie
14140 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 74 69 6d 65 20 63 6f 6e 73 75 6d 69 6e 67 2c 20 s,.which.can.be.time.consuming,.
14160 6f 6e 63 65 20 70 65 72 20 65 61 63 68 20 66 61 63 65 2e 20 20 54 68 65 0a 3b 3b 20 6d 61 70 70 once.per.each.face...The.;;.mapp
14180 69 6e 67 20 62 65 74 77 65 65 6e 20 45 6d 61 63 73 20 66 61 63 65 73 20 61 6e 64 20 68 74 6d 6c ing.between.Emacs.faces.and.html
141a0 69 7a 65 2d 66 73 74 72 75 63 74 73 20 69 73 20 65 73 74 61 62 6c 69 73 68 65 64 20 62 79 0a 3b ize-fstructs.is.established.by.;
141c0 3b 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 61 63 65 2d 6d 61 70 2e 20 20 54 68 65 20 6e 61 ;.htmlize-make-face-map...The.na
141e0 6d 65 20 22 66 73 74 72 75 63 74 22 20 72 65 66 65 72 73 20 74 6f 20 76 61 72 69 61 62 6c 65 73 me."fstruct".refers.to.variables
14200 20 6f 66 0a 3b 3b 20 74 79 70 65 20 60 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 27 2c 20 77 .of.;;.type.`htmlize-fstruct',.w
14220 68 69 6c 65 20 74 68 65 20 74 65 72 6d 20 22 66 61 63 65 22 20 69 73 20 72 65 73 65 72 76 65 64 hile.the.term."face".is.reserved
14240 20 66 6f 72 20 45 6d 61 63 73 0a 3b 3b 20 66 61 63 65 73 2e 0a 0a 28 63 6c 2d 64 65 66 73 74 72 .for.Emacs.;;.faces...(cl-defstr
14260 75 63 74 20 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 0a 20 20 66 6f 72 65 67 72 6f 75 6e 64 uct.htmlize-fstruct...foreground
14280 20 20 20 20 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 20 66 6f ............................;.fo
142a0 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 23 72 72 67 67 62 62 0a 20 20 62 61 63 6b 67 72 reground.color,.#rrggbb...backgr
142c0 6f 75 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ound............................
142e0 3b 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 23 72 72 67 67 62 62 0a 20 20 73 69 ;.background.color,.#rrggbb...si
14300 7a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ze..............................
14320 20 20 20 20 3b 20 73 69 7a 65 0a 20 20 62 6f 6c 64 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....;.size...boldp..............
14340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 77 68 65 74 68 65 72 20 66 61 63 ...................;.whether.fac
14360 65 20 69 73 20 62 6f 6c 64 0a 20 20 69 74 61 6c 69 63 70 20 20 20 20 20 20 20 20 20 20 20 20 20 e.is.bold...italicp.............
14380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 77 68 65 74 68 65 72 20 66 61 63 65 ..................;.whether.face
143a0 20 69 73 20 69 74 61 6c 69 63 0a 20 20 75 6e 64 65 72 6c 69 6e 65 70 20 20 20 20 20 20 20 20 20 .is.italic...underlinep.........
143c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 77 68 65 74 68 65 72 20 66 61 63 ...................;.whether.fac
143e0 65 20 69 73 20 75 6e 64 65 72 6c 69 6e 65 64 0a 20 20 6f 76 65 72 6c 69 6e 65 70 20 20 20 20 20 e.is.underlined...overlinep.....
14400 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 20 77 68 65 74 68 65 ........................;.whethe
14420 72 20 66 61 63 65 20 69 73 20 6f 76 65 72 6c 69 6e 65 64 0a 20 20 73 74 72 69 6b 65 70 20 20 20 r.face.is.overlined...strikep...
14440 20 20 20 20 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 20 77 68 ............................;.wh
14460 65 74 68 65 72 20 66 61 63 65 20 69 73 20 73 74 72 75 63 6b 20 74 68 72 6f 75 67 68 0a 20 20 63 ether.face.is.struck.through...c
14480 73 73 2d 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss-name.........................
144a0 20 20 20 20 20 3b 20 43 53 53 20 6e 61 6d 65 20 6f 66 20 66 61 63 65 0a 20 20 29 0a 0a 28 64 65 .....;.CSS.name.of.face...)..(de
144c0 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 73 65 74 2d 66 72 6f 6d 2d 6b 65 79 77 6f 72 fun.htmlize-face-set-from-keywor
144e0 64 2d 61 74 74 72 20 28 66 73 74 72 75 63 74 20 61 74 74 72 20 76 61 6c 75 65 29 0a 20 20 3b 3b d-attr.(fstruct.attr.value)...;;
14500 20 46 6f 72 20 41 54 54 52 20 61 6e 64 20 56 41 4c 55 45 2c 20 73 65 74 20 74 68 65 20 65 71 75 .For.ATTR.and.VALUE,.set.the.equ
14520 69 76 61 6c 65 6e 74 20 76 61 6c 75 65 20 69 6e 20 46 53 54 52 55 43 54 2e 0a 20 20 28 63 6c 2d ivalent.value.in.FSTRUCT....(cl-
14540 63 61 73 65 20 61 74 74 72 0a 20 20 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 0a 20 20 20 20 20 case.attr.....(:foreground......
14560 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e (setf.(htmlize-fstruct-foregroun
14580 64 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 d.fstruct).(htmlize-color-to-rgb
145a0 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 3a 62 61 63 6b 67 72 6f 75 6e 64 0a 20 20 20 20 20 .value))).....(:background......
145c0 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 6e (setf.(htmlize-fstruct-backgroun
145e0 64 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 d.fstruct).(htmlize-color-to-rgb
14600 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 3a 68 65 69 67 68 74 0a 20 20 20 20 20 28 73 65 74 .value))).....(:height......(set
14620 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 66 73 74 72 75 63 74 29 f.(htmlize-fstruct-size.fstruct)
14640 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 77 65 69 67 68 74 0a 20 20 20 20 20 28 77 68 65 6e .value)).....(:weight......(when
14660 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 76 61 6c 75 .(string-match.(symbol-name.valu
14680 65 29 20 22 62 6f 6c 64 22 29 0a 20 20 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 e)."bold")........(setf.(htmlize
146a0 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 70 20 66 73 74 72 75 63 74 29 20 74 29 29 29 0a 20 20 20 -fstruct-boldp.fstruct).t)))....
146c0 20 28 3a 73 6c 61 6e 74 0a 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 .(:slant......(setf.(htmlize-fst
146e0 72 75 63 74 2d 69 74 61 6c 69 63 70 20 66 73 74 72 75 63 74 29 20 28 6f 72 20 28 65 71 20 76 61 ruct-italicp.fstruct).(or.(eq.va
14700 6c 75 65 20 27 69 74 61 6c 69 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lue.'italic)....................
14720 20 20 20 20 20 20 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 ..............................(e
14740 71 20 76 61 6c 75 65 20 27 6f 62 6c 69 71 75 65 29 29 29 29 0a 20 20 20 20 28 3a 62 6f 6c 64 0a q.value.'oblique)))).....(:bold.
14760 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 .....(setf.(htmlize-fstruct-bold
14780 70 20 66 73 74 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 69 74 61 6c 69 63 0a p.fstruct).value)).....(:italic.
147a0 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c .....(setf.(htmlize-fstruct-ital
147c0 69 63 70 20 66 73 74 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 75 6e 64 65 72 icp.fstruct).value)).....(:under
147e0 6c 69 6e 65 0a 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 line......(setf.(htmlize-fstruct
14800 2d 75 6e 64 65 72 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 -underlinep.fstruct).value))....
14820 20 28 3a 6f 76 65 72 6c 69 6e 65 0a 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d .(:overline......(setf.(htmlize-
14840 66 73 74 72 75 63 74 2d 6f 76 65 72 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 20 76 61 6c 75 65 fstruct-overlinep.fstruct).value
14860 29 29 0a 20 20 20 20 28 3a 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 0a 20 20 20 20 20 28 73 65 )).....(:strike-through......(se
14880 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 20 66 73 74 72 tf.(htmlize-fstruct-strikep.fstr
148a0 75 63 74 29 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 uct).value))))..(defun.htmlize-f
148c0 61 63 65 2d 73 69 7a 65 20 28 66 61 63 65 29 0a 20 20 3b 3b 20 54 68 65 20 73 69 7a 65 20 28 68 ace-size.(face)...;;.The.size.(h
148e0 65 69 67 68 74 29 20 6f 66 20 46 41 43 45 2c 20 74 61 6b 69 6e 67 20 69 6e 68 65 72 69 74 61 6e eight).of.FACE,.taking.inheritan
14900 63 65 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 2e 0a 20 20 3b 3b 20 4f 6e 6c 79 20 77 6f 72 6b 73 ce.into.account....;;.Only.works
14920 20 69 6e 20 45 6d 61 63 73 20 32 31 20 61 6e 64 20 6c 61 74 65 72 2e 0a 20 20 28 6c 65 74 2a 20 .in.Emacs.21.and.later....(let*.
14940 28 28 66 61 63 65 2d 6c 69 73 74 20 28 6c 69 73 74 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 ((face-list.(list.face))........
14960 20 20 28 68 65 61 64 20 66 61 63 65 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 ..(head.face-list)..........(tai
14980 6c 20 66 61 63 65 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 68 65 61 64 0a 20 20 l.face-list)).....(while.head...
149a0 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 65 72 69 74 20 28 66 61 63 65 2d 61 74 74 72 69 62 75 ....(let.((inherit.(face-attribu
149c0 74 65 20 28 63 61 72 20 68 65 61 64 29 20 3a 69 6e 68 65 72 69 74 29 29 29 0a 20 20 20 20 20 20 te.(car.head).:inherit))).......
149e0 20 20 28 63 6f 6e 64 20 28 28 6c 69 73 74 70 20 69 6e 68 65 72 69 74 29 0a 20 20 20 20 20 20 20 ..(cond.((listp.inherit)........
14a00 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 69 6c 20 28 6c 61 73 74 20 69 6e 68 65 72 69 74 ........(setq.tail.(last.inherit
14a20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 69 6e 68 65 72 69 74 20 27 )))...............((eq.inherit.'
14a40 75 6e 73 70 65 63 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 unspecified))...............(t..
14a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 74 61 69 6c 20 28 6c 69 73 74 ..............(setcdr.tail.(list
14a80 20 69 6e 68 65 72 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .inherit))................(setq.
14aa0 74 61 69 6c 20 28 63 64 72 20 74 61 69 6c 29 29 29 29 29 0a 20 20 20 20 20 20 28 70 6f 70 20 68 tail.(cdr.tail))))).......(pop.h
14ac0 65 61 64 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 69 7a 65 2d 6c 69 73 74 0a 20 20 20 20 20 ead)).....(let.((size-list......
14ae0 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 ......(cl-loop.............for.f
14b00 20 69 6e 20 66 61 63 65 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 68 20 .in.face-list.............for.h.
14b20 3d 20 28 61 6e 64 20 28 66 61 63 65 70 20 66 29 20 28 66 61 63 65 2d 61 74 74 72 69 62 75 74 65 =.(and.(facep.f).(face-attribute
14b40 20 66 20 3a 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 .f.:height)).............collect
14b60 20 28 69 66 20 28 65 71 20 68 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 20 6e 69 6c 20 68 29 29 .(if.(eq.h.'unspecified).nil.h))
14b80 29 29 0a 20 20 20 20 20 20 28 63 6c 2d 72 65 64 75 63 65 20 27 68 74 6d 6c 69 7a 65 2d 6d 65 72 )).......(cl-reduce.'htmlize-mer
14ba0 67 65 2d 73 69 7a 65 20 28 63 6f 6e 73 20 6e 69 6c 20 73 69 7a 65 2d 6c 69 73 74 29 29 29 29 29 ge-size.(cons.nil.size-list)))))
14bc0 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 63 73 73 2d 6e 61 6d 65 20 28 ..(defun.htmlize-face-css-name.(
14be0 66 61 63 65 29 0a 20 20 3b 3b 20 47 65 6e 65 72 61 74 65 20 74 68 65 20 63 73 73 2d 6e 61 6d 65 face)...;;.Generate.the.css-name
14c00 20 70 72 6f 70 65 72 74 79 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 66 61 63 65 2e 20 20 45 .property.for.the.given.face...E
14c20 6d 61 63 73 20 70 6c 61 63 65 73 0a 20 20 3b 3b 20 6e 6f 20 72 65 73 74 72 69 63 74 69 6f 6e 73 macs.places...;;.no.restrictions
14c40 20 6f 6e 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 73 79 6d 62 6f 6c 73 20 74 68 61 74 20 72 65 .on.the.names.of.symbols.that.re
14c60 70 72 65 73 65 6e 74 20 66 61 63 65 73 20 2d 2d 0a 20 20 3b 3b 20 61 6e 79 20 63 68 61 72 61 63 present.faces.--...;;.any.charac
14c80 74 65 72 73 20 6d 61 79 20 62 65 20 69 6e 20 74 68 65 20 6e 61 6d 65 2c 20 65 76 65 6e 20 63 6f ters.may.be.in.the.name,.even.co
14ca0 6e 74 72 6f 6c 20 63 68 61 72 73 2e 20 20 57 65 20 74 72 79 0a 20 20 3b 3b 20 68 61 72 64 20 74 ntrol.chars...We.try...;;.hard.t
14cc0 6f 20 62 65 61 74 20 74 68 65 20 66 61 63 65 20 6e 61 6d 65 20 69 6e 74 6f 20 73 68 61 70 65 2c o.beat.the.face.name.into.shape,
14ce0 20 62 6f 74 68 20 65 73 74 68 65 74 69 63 61 6c 6c 79 20 61 6e 64 0a 20 20 3b 3b 20 61 63 63 6f .both.esthetically.and...;;.acco
14d00 72 64 69 6e 67 20 74 6f 20 43 53 53 31 20 73 70 65 63 73 2e 0a 20 20 28 6c 65 74 20 28 28 6e 61 rding.to.CSS1.specs....(let.((na
14d20 6d 65 20 28 64 6f 77 6e 63 61 73 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 61 63 65 29 29 me.(downcase.(symbol-name.face))
14d40 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 66 )).....(when.(string-match."\\`f
14d60 6f 6e 74 2d 6c 6f 63 6b 2d 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 66 6f 6e 74 2d 6c ont-lock-".name).......;;.font-l
14d80 6f 63 6b 2d 46 4f 4f 2d 66 61 63 65 20 2d 3e 20 46 4f 4f 2e 0a 20 20 20 20 20 20 28 73 65 74 71 ock-FOO-face.->.FOO........(setq
14da0 20 6e 61 6d 65 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 20 74 20 74 20 6e 61 6d 65 .name.(replace-match."".t.t.name
14dc0 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 2d 66 61 ))).....(when.(string-match."-fa
14de0 63 65 5c 5c 27 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 44 72 6f 70 20 74 68 65 20 72 ce\\'".name).......;;.Drop.the.r
14e00 65 64 75 6e 64 61 6e 74 20 22 2d 66 61 63 65 22 20 73 75 66 66 69 78 2e 0a 20 20 20 20 20 20 28 edundant."-face".suffix........(
14e20 73 65 74 71 20 6e 61 6d 65 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 20 74 20 74 20 setq.name.(replace-match."".t.t.
14e40 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 name))).....(while.(string-match
14e60 20 22 5b 5e 2d 61 2d 7a 41 2d 5a 30 2d 39 5d 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 ."[^-a-zA-Z0-9]".name).......;;.
14e80 44 72 6f 70 20 74 68 65 20 6e 6f 6e 2d 61 6c 70 68 61 6e 75 6d 65 72 69 63 73 2e 0a 20 20 20 20 Drop.the.non-alphanumerics......
14ea0 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 58 22 20 ..(setq.name.(replace-match."X".
14ec0 74 20 74 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 t.t.name))).....(when.(string-ma
14ee0 74 63 68 20 22 5c 5c 60 5b 2d 30 2d 39 5d 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 43 tch."\\`[-0-9]".name).......;;.C
14f00 53 53 20 69 64 65 6e 74 69 66 69 65 72 73 20 6d 61 79 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 SS.identifiers.may.not.start.wit
14f20 68 20 61 20 64 69 67 69 74 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 63 6f 6e h.a.digit........(setq.name.(con
14f40 63 61 74 20 22 58 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 3b 3b 20 41 66 74 65 72 20 74 68 65 cat."X".name))).....;;.After.the
14f60 73 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 2c 20 74 68 65 20 66 61 63 65 20 63 6f 75 se.transformations,.the.face.cou
14f80 6c 64 20 63 6f 6d 65 20 6f 75 74 20 65 6d 70 74 79 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 ld.come.out.empty......(when.(eq
14fa0 75 61 6c 20 6e 61 6d 65 20 22 22 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 22 66 ual.name."").......(setq.name."f
14fc0 61 63 65 22 29 29 0a 20 20 20 20 3b 3b 20 41 70 70 6c 79 20 74 68 65 20 70 72 65 66 69 78 2e 0a ace")).....;;.Apply.the.prefix..
14fe0 20 20 20 20 28 63 6f 6e 63 61 74 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 6e 61 6d 65 2d 70 72 65 ....(concat.htmlize-css-name-pre
15000 66 69 78 20 6e 61 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 fix.name)))..(defun.htmlize-face
15020 2d 74 6f 2d 66 73 74 72 75 63 74 2d 31 20 28 66 61 63 65 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 -to-fstruct-1.(face)..."Convert.
15040 45 6d 61 63 73 20 66 61 63 65 20 46 41 43 45 20 74 6f 20 66 73 74 72 75 63 74 2c 20 69 6e 74 65 Emacs.face.FACE.to.fstruct,.inte
15060 72 6e 61 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 74 20 28 6d 61 6b 65 2d 68 74 rnal."...(let.((fstruct.(make-ht
15080 6d 6c 69 7a 65 2d 66 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 mlize-fstruct...................
150a0 3a 66 6f 72 65 67 72 6f 75 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 :foreground.(htmlize-color-to-rg
150c0 62 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 b...............................
150e0 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 20 66 61 63 65 29 29 .(htmlize-face-foreground.face))
15100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 28 ...................:background.(
15120 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 0a 20 20 20 20 20 20 20 20 20 20 20 htmlize-color-to-rgb............
15140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 ....................(htmlize-fac
15160 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 61 63 65 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 47 4e e-background.face))))).....;;.GN
15180 55 20 45 6d 61 63 73 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 61 74 74 72 20 27 28 3a 77 65 69 U.Emacs.....(dolist.(attr.'(:wei
151a0 67 68 74 20 3a 73 6c 61 6e 74 20 3a 75 6e 64 65 72 6c 69 6e 65 20 3a 6f 76 65 72 6c 69 6e 65 20 ght.:slant.:underline.:overline.
151c0 3a 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 :strike-through)).......(let.((v
151e0 61 6c 75 65 20 28 66 61 63 65 2d 61 74 74 72 69 62 75 74 65 20 66 61 63 65 20 61 74 74 72 20 6e alue.(face-attribute.face.attr.n
15200 69 6c 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 76 61 6c 75 65 il.t))).........(when.(and.value
15220 20 28 6e 6f 74 20 28 65 71 20 76 61 6c 75 65 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 29 29 0a .(not.(eq.value.'unspecified))).
15240 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 73 65 74 2d 66 72 6f 6d ..........(htmlize-face-set-from
15260 2d 6b 65 79 77 6f 72 64 2d 61 74 74 72 20 66 73 74 72 75 63 74 20 61 74 74 72 20 76 61 6c 75 65 -keyword-attr.fstruct.attr.value
15280 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 68 74 6d 6c 69 7a 65 2d 66 61 )))).....(let.((size.(htmlize-fa
152a0 63 65 2d 73 69 7a 65 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 ce-size.face))).......(unless.(e
152c0 71 6c 20 73 69 7a 65 20 31 2e 30 29 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 69 67 6e 6f 72 65 ql.size.1.0)............;.ignore
152e0 20 6e 6f 6e 2d 73 70 65 63 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 .non-spec.........(setf.(htmlize
15300 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 66 73 74 72 75 63 74 29 20 73 69 7a 65 29 29 29 0a 20 -fstruct-size.fstruct).size)))..
15320 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 ...(setf.(htmlize-fstruct-css-na
15340 6d 65 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 63 73 73 2d 6e 61 me.fstruct).(htmlize-face-css-na
15360 6d 65 20 66 61 63 65 29 29 0a 20 20 20 20 66 73 74 72 75 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 me.face)).....fstruct))..(defun.
15380 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 74 72 75 63 74 20 28 66 61 63 65 29 0a 20 htmlize-face-to-fstruct.(face)..
153a0 20 28 6c 65 74 2a 20 28 28 66 61 63 65 2d 6c 69 73 74 20 28 6f 72 20 28 61 6e 64 20 28 73 79 6d .(let*.((face-list.(or.(and.(sym
153c0 62 6f 6c 70 20 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 20 20 bolp.face)......................
153e0 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 66 61 63 65 20 66 61 63 65 2d 72 65 6d ........(cdr.(assq.face.face-rem
15400 61 70 70 69 6e 67 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 apping-alist))).................
15420 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 ........(list.face)))..........(
15440 66 73 74 72 75 63 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 66 61 63 65 73 0a 20 20 20 fstruct.(htmlize-merge-faces....
15460 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.
15480 28 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 20 20 20 20 20 20 (face)..........................
154a0 20 20 20 20 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 ....(if.(symbolp.face)..........
154c0 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 6f 72 20 28 68 74 6d ........................(or.(htm
154e0 6c 69 7a 65 2d 67 65 74 2d 6f 76 65 72 72 69 64 65 2d 66 73 74 72 75 63 74 20 66 61 63 65 29 0a lize-get-override-fstruct.face).
15500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15520 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 74 72 75 63 74 2d 31 20 .....(htmlize-face-to-fstruct-1.
15540 66 61 63 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 face))..........................
15560 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 61 74 74 72 6c 69 73 74 2d 74 6f 2d 66 73 74 72 75 ......(htmlize-attrlist-to-fstru
15580 63 74 20 66 61 63 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 ct.face)))......................
155a0 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 66 61 63 65 2d 6c 69 73 74 29 29 29 29 29 0a 20 ......(nreverse.face-list)))))..
155c0 20 20 20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 66 61 63 65 29 0a 20 20 20 20 20 20 28 73 ...(when.(symbolp.face).......(s
155e0 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 etf.(htmlize-fstruct-css-name.fs
15600 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 63 73 73 2d 6e 61 6d 65 20 66 61 truct).(htmlize-face-css-name.fa
15620 63 65 29 29 29 0a 20 20 20 20 66 73 74 72 75 63 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 ce))).....fstruct))..(defmacro.h
15640 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 61 74 74 72 2d 69 66 2d 73 65 74 20 28 61 74 74 72 2d 6c 69 tmlize-copy-attr-if-set.(attr-li
15660 73 74 20 64 65 73 74 20 73 6f 75 72 63 65 29 0a 20 20 3b 3b 20 47 65 6e 65 72 61 74 65 20 63 6f st.dest.source)...;;.Generate.co
15680 64 65 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 74 74 65 72 6e 3a 0a 20 de.with.the.following.pattern:..
156a0 20 3b 3b 20 28 70 72 6f 67 6e 0a 20 20 3b 3b 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 .;;.(progn...;;...(when.(htmlize
156c0 2d 66 73 74 72 75 63 74 2d 41 54 54 52 20 73 6f 75 72 63 65 29 0a 20 20 3b 3b 20 20 20 20 20 28 -fstruct-ATTR.source)...;;.....(
156e0 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 41 54 54 52 20 64 65 73 74 29 setf.(htmlize-fstruct-ATTR.dest)
15700 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 41 54 54 52 20 73 6f 75 72 63 65 29 29 29 .(htmlize-fstruct-ATTR.source)))
15720 0a 20 20 3b 3b 20 20 20 2e 2e 2e 29 0a 20 20 3b 3b 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 ...;;......)...;;.for.the.given.
15740 6c 69 73 74 20 6f 66 20 62 6f 6f 6c 65 61 6e 20 61 74 74 72 69 62 75 74 65 73 2e 0a 20 20 28 63 list.of.boolean.attributes....(c
15760 6f 6e 73 20 27 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 ons.'progn.........(cl-loop.for.
15780 61 74 74 72 20 69 6e 20 61 74 74 72 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 attr.in.attr-list...............
157a0 20 20 20 66 6f 72 20 61 74 74 72 2d 73 79 6d 20 3d 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 ...for.attr-sym.=.(intern.(forma
157c0 74 20 22 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 25 73 22 20 61 74 74 72 29 29 0a 20 20 t."htmlize-fstruct-%s".attr))...
157e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 77 68 65 6e 20 28 2c ...............collect.`(when.(,
15800 61 74 74 72 2d 73 79 6d 20 2c 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 attr-sym.,source)...............
15820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 2c 61 74 74 72 2d 73 79 6d 20 2c ..............(setf.(,attr-sym.,
15840 64 65 73 74 29 20 28 2c 61 74 74 72 2d 73 79 6d 20 2c 73 6f 75 72 63 65 29 29 29 29 29 29 0a 0a dest).(,attr-sym.,source))))))..
15860 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 73 69 7a 65 20 28 6d 65 72 67 65 (defun.htmlize-merge-size.(merge
15880 64 20 6e 65 78 74 29 0a 20 20 3b 3b 20 43 61 6c 63 75 6c 61 74 65 20 74 68 65 20 73 69 7a 65 20 d.next)...;;.Calculate.the.size.
158a0 6f 66 20 74 68 65 20 6d 65 72 67 65 20 6f 66 20 4d 45 52 47 45 44 20 61 6e 64 20 4e 45 58 54 2e of.the.merge.of.MERGED.and.NEXT.
158c0 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6d 65 72 67 65 64 29 20 20 20 20 20 6e 65 78 74 ...(cond.((null.merged).....next
158e0 29 0a 20 20 20 20 20 20 20 20 28 28 69 6e 74 65 67 65 72 70 20 6e 65 78 74 29 20 20 20 6e 65 78 ).........((integerp.next)...nex
15900 74 29 0a 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 6e 65 78 74 29 20 20 20 20 20 20 20 6d 65 t).........((null.next).......me
15920 72 67 65 64 29 0a 20 20 20 20 20 20 20 20 28 28 66 6c 6f 61 74 70 20 6d 65 72 67 65 64 29 20 20 rged).........((floatp.merged)..
15940 20 28 2a 20 6d 65 72 67 65 64 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 69 6e 74 65 .(*.merged.next)).........((inte
15960 67 65 72 70 20 6d 65 72 67 65 64 29 20 28 72 6f 75 6e 64 20 28 2a 20 6d 65 72 67 65 64 20 6e 65 gerp.merged).(round.(*.merged.ne
15980 78 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 74 77 xt)))))..(defun.htmlize-merge-tw
159a0 6f 2d 66 61 63 65 73 20 28 6d 65 72 67 65 64 20 6e 65 78 74 29 0a 20 20 28 68 74 6d 6c 69 7a 65 o-faces.(merged.next)...(htmlize
159c0 2d 63 6f 70 79 2d 61 74 74 72 2d 69 66 2d 73 65 74 0a 20 20 20 28 66 6f 72 65 67 72 6f 75 6e 64 -copy-attr-if-set....(foreground
159e0 20 62 61 63 6b 67 72 6f 75 6e 64 20 62 6f 6c 64 70 20 69 74 61 6c 69 63 70 20 75 6e 64 65 72 6c .background.boldp.italicp.underl
15a00 69 6e 65 70 20 6f 76 65 72 6c 69 6e 65 70 20 73 74 72 69 6b 65 70 29 0a 20 20 20 6d 65 72 67 65 inep.overlinep.strikep)....merge
15a20 64 20 6e 65 78 74 29 0a 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 d.next)...(setf.(htmlize-fstruct
15a40 2d 73 69 7a 65 20 6d 65 72 67 65 64 29 0a 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d -size.merged).........(htmlize-m
15a60 65 72 67 65 2d 73 69 7a 65 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 erge-size.(htmlize-fstruct-size.
15a80 6d 65 72 67 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 20 20 merged).........................
15aa0 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 6e 65 78 74 29 29 ....(htmlize-fstruct-size.next))
15ac0 29 0a 20 20 6d 65 72 67 65 64 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 )...merged)..(defun.htmlize-merg
15ae0 65 2d 66 61 63 65 73 20 28 66 73 74 72 75 63 74 2d 6c 69 73 74 29 0a 20 20 28 63 6f 6e 64 20 28 e-faces.(fstruct-list)...(cond.(
15b00 28 6e 75 6c 6c 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 (null.fstruct-list)..........;;.
15b20 4e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 2c 20 72 65 74 75 72 6e 20 61 20 64 75 6d 6d 79 20 66 61 Nothing.to.do,.return.a.dummy.fa
15b40 63 65 2e 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 ce...........(make-htmlize-fstru
15b60 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 28 63 64 72 20 66 73 74 72 75 63 74 ct)).........((null.(cdr.fstruct
15b80 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 70 74 69 6d 69 7a 65 20 66 6f 72 -list))..........;;.Optimize.for
15ba0 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 20 6f 66 20 61 20 73 69 6e 67 6c 65 20 66 61 63 .the.common.case.of.a.single.fac
15bc0 65 2c 20 73 69 6d 70 6c 79 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 74 75 72 6e 20 69 74 2e e,.simply..........;;.return.it.
15be0 0a 20 20 20 20 20 20 20 20 20 28 63 61 72 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 29 0a 20 20 ..........(car.fstruct-list))...
15c00 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 64 75 63 65 20 23 27 68 ......(t..........(cl-reduce.#'h
15c20 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 74 77 6f 2d 66 61 63 65 73 0a 20 20 20 20 20 20 20 20 20 tmlize-merge-two-faces..........
15c40 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6d 61 6b 65 2d 68 74 6d 6c 69 7a 65 2d 66 ...........(cons.(make-htmlize-f
15c60 73 74 72 75 63 74 29 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 20 47 4e struct).fstruct-list)))))..;;.GN
15c80 55 20 45 6d 61 63 73 20 32 30 2b 20 73 75 70 70 6f 72 74 73 20 61 74 74 72 69 62 75 74 65 20 6c U.Emacs.20+.supports.attribute.l
15ca0 69 73 74 73 20 69 6e 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 69 65 73 2e 20 20 46 6f 72 0a ists.in.`face'.properties...For.
15cc0 3b 3b 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 60 28 3a 66 6f 72 65 67 ;;.example,.you.can.use.`(:foreg
15ce0 72 6f 75 6e 64 20 22 72 65 64 22 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 29 27 20 61 73 20 61 6e round."red".:weight.bold)'.as.an
15d00 0a 3b 3b 20 6f 76 65 72 6c 61 79 27 73 20 22 66 61 63 65 22 2c 20 6f 72 20 79 6f 75 20 63 61 6e .;;.overlay's."face",.or.you.can
15d20 20 65 76 65 6e 20 75 73 65 20 61 20 6c 69 73 74 20 6f 66 20 73 75 63 68 20 6c 69 73 74 73 2c 20 .even.use.a.list.of.such.lists,.
15d40 65 74 63 2e 0a 3b 3b 20 57 65 20 63 61 6c 6c 20 74 68 6f 73 65 20 22 61 74 74 72 6c 69 73 74 73 etc..;;.We.call.those."attrlists
15d60 22 2e 0a 3b 3b 0a 3b 3b 20 68 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 73 20 61 74 74 72 6c 69 "..;;.;;.htmlize.supports.attrli
15d80 73 74 20 62 79 20 63 6f 6e 76 65 72 74 69 6e 67 20 74 68 65 6d 20 74 6f 20 66 73 74 72 75 63 74 st.by.converting.them.to.fstruct
15da0 73 2c 20 74 68 65 20 73 61 6d 65 0a 3b 3b 20 61 73 20 77 69 74 68 20 72 65 67 75 6c 61 72 20 66 s,.the.same.;;.as.with.regular.f
15dc0 61 63 65 73 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 74 74 72 6c 69 73 74 2d 74 aces...(defun.htmlize-attrlist-t
15de0 6f 2d 66 73 74 72 75 63 74 20 28 61 74 74 72 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 6e 61 o-fstruct.(attrlist.&optional.na
15e00 6d 65 29 0a 20 20 3b 3b 20 4c 69 6b 65 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 me)...;;.Like.htmlize-face-to-fs
15e20 74 72 75 63 74 2c 20 62 75 74 20 61 63 63 65 70 74 73 20 61 6e 20 41 54 54 52 4c 49 53 54 20 61 truct,.but.accepts.an.ATTRLIST.a
15e40 73 20 69 6e 70 75 74 2e 0a 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 74 20 28 6d 61 6b 65 2d s.input....(let.((fstruct.(make-
15e60 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 htmlize-fstruct))).....(cond.((e
15e80 71 20 28 63 61 72 20 61 74 74 72 6c 69 73 74 29 20 27 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c q.(car.attrlist).'foreground-col
15ea0 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 54 54 52 4c 49 53 54 20 69 73 20 28 66 or)............;;.ATTRLIST.is.(f
15ec0 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 2e 20 43 4f 4c 4f 52 29 0a 20 20 20 20 20 20 20 oreground-color...COLOR)........
15ee0 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 ....(setf.(htmlize-fstruct-foreg
15f00 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 round.fstruct)..................
15f20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 20 28 63 64 72 20 61 74 74 72 6c (htmlize-color-to-rgb.(cdr.attrl
15f40 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 61 74 74 72 ist))))...........((eq.(car.attr
15f60 6c 69 73 74 29 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 list).'background-color)........
15f80 20 20 20 20 3b 3b 20 41 54 54 52 4c 49 53 54 20 69 73 20 28 62 61 63 6b 67 72 6f 75 6e 64 2d 63 ....;;.ATTRLIST.is.(background-c
15fa0 6f 6c 6f 72 20 2e 20 43 4f 4c 4f 52 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 olor...COLOR)............(setf.(
15fc0 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 73 74 72 75 htmlize-fstruct-background.fstru
15fe0 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f ct)..................(htmlize-co
16000 6c 6f 72 2d 74 6f 2d 72 67 62 20 28 63 64 72 20 61 74 74 72 6c 69 73 74 29 29 29 29 0a 20 20 20 lor-to-rgb.(cdr.attrlist))))....
16020 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 54 54 52 4c 49 53 54 .......(t............;;.ATTRLIST
16040 20 69 73 20 61 20 70 6c 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 61 .is.a.plist.............(while.a
16060 74 74 72 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 74 74 72 ttrlist..............(let.((attr
16080 20 28 70 6f 70 20 61 74 74 72 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(pop.attrlist))................
160a0 20 20 20 20 28 76 61 6c 75 65 20 28 70 6f 70 20 61 74 74 72 6c 69 73 74 29 29 29 0a 20 20 20 20 ....(value.(pop.attrlist))).....
160c0 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 76 61 6c 75 65 20 28 6e 6f 74 ...........(when.(and.value.(not
160e0 20 28 65 71 20 76 61 6c 75 65 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 29 29 0a 20 20 20 20 20 .(eq.value.'unspecified)))......
16100 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 73 65 74 2d 66 72 ............(htmlize-face-set-fr
16120 6f 6d 2d 6b 65 79 77 6f 72 64 2d 61 74 74 72 20 66 73 74 72 75 63 74 20 61 74 74 72 20 76 61 6c om-keyword-attr.fstruct.attr.val
16140 75 65 29 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 ue)))))).....(setf.(htmlize-fstr
16160 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 28 6f 72 20 6e 61 6d 65 20 22 uct-css-name.fstruct).(or.name."
16180 63 75 73 74 6f 6d 22 29 29 0a 20 20 20 20 66 73 74 72 75 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 custom")).....fstruct))..(defun.
161a0 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 28 70 72 6f 70 29 0a htmlize-decode-face-prop.(prop).
161c0 20 20 22 54 75 72 6e 20 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 69 6e 74 6f 20 .."Turn.face.property.PROP.into.
161e0 61 20 6c 69 73 74 20 6f 66 20 66 61 63 65 2d 6c 69 6b 65 20 6f 62 6a 65 63 74 73 2e 22 0a 20 20 a.list.of.face-like.objects."...
16200 3b 3b 20 50 52 4f 50 20 63 61 6e 20 62 65 20 61 20 73 79 6d 62 6f 6c 20 6e 61 6d 69 6e 67 20 61 ;;.PROP.can.be.a.symbol.naming.a
16220 20 66 61 63 65 2c 20 61 20 73 74 72 69 6e 67 20 6e 61 6d 69 6e 67 20 73 75 63 68 20 61 0a 20 20 .face,.a.string.naming.such.a...
16240 3b 3b 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 28 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f ;;.symbol,.a.cons.(foreground-co
16260 6c 6f 72 20 2e 20 43 4f 4c 4f 52 29 20 6f 72 20 28 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f lor...COLOR).or.(background-colo
16280 72 0a 20 20 3b 3b 20 43 4f 4c 4f 52 29 2c 20 61 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 20 28 r...;;.COLOR),.a.property.list.(
162a0 3a 61 74 74 72 31 20 76 61 6c 31 20 3a 61 74 74 72 32 20 76 61 6c 32 20 2e 2e 2e 29 2c 20 6f 72 :attr1.val1.:attr2.val2....),.or
162c0 20 61 20 6c 69 73 74 0a 20 20 3b 3b 20 6f 66 20 61 6e 79 20 6f 66 20 74 68 6f 73 65 2e 0a 20 20 .a.list...;;.of.any.of.those....
162e0 3b 3b 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f ;;...;;.(htmlize-decode-face-pro
16300 70 20 27 66 61 63 65 29 20 2d 3e 20 28 66 61 63 65 29 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 7a 65 p.'face).->.(face)...;;.(htmlize
16320 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 28 66 61 63 65 31 20 66 61 63 65 32 29 -decode-face-prop.'(face1.face2)
16340 29 20 2d 3e 20 28 66 61 63 65 31 20 66 61 63 65 32 29 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 7a 65 ).->.(face1.face2)...;;.(htmlize
16360 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 28 3a 61 74 74 72 20 22 76 61 6c 22 29 -decode-face-prop.'(:attr."val")
16380 29 20 2d 3e 20 28 28 3a 61 74 74 72 20 22 76 61 6c 22 29 29 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 ).->.((:attr."val"))...;;.(htmli
163a0 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 28 28 3a 61 74 74 72 20 22 76 61 ze-decode-face-prop.'((:attr."va
163c0 6c 22 29 20 66 61 63 65 20 28 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 22 72 65 64 22 l").face.(foreground-color."red"
163e0 29 29 29 0a 20 20 3b 3b 20 20 20 2d 3e 20 28 28 3a 61 74 74 72 20 22 76 61 6c 22 29 20 66 61 63 )))...;;...->.((:attr."val").fac
16400 65 20 28 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 22 72 65 64 22 29 29 0a 20 20 3b 3b e.(foreground-color."red"))...;;
16420 0a 20 20 3b 3b 20 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 61 74 6f 6d 73 20 6f 72 20 6e 6f 6e 2d ...;;.Unrecognized.atoms.or.non-
16440 66 61 63 65 20 73 79 6d 62 6f 6c 73 2f 73 74 72 69 6e 67 73 20 61 72 65 20 73 69 6c 65 6e 74 6c face.symbols/strings.are.silentl
16460 79 0a 20 20 3b 3b 20 73 74 72 69 70 70 65 64 20 61 77 61 79 2e 0a 20 20 28 63 6f 6e 64 20 28 28 y...;;.stripped.away....(cond.((
16480 6e 75 6c 6c 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 null.prop)..........nil)........
164a0 20 28 28 73 79 6d 62 6f 6c 70 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 .((symbolp.prop)..........(and.(
164c0 66 61 63 65 70 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 facep.prop)...............(list.
164e0 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 70 72 6f 70 29 0a prop))).........((stringp.prop).
16500 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 61 63 65 70 20 28 69 6e 74 65 72 6e 2d 73 6f 66 .........(and.(facep.(intern-sof
16520 74 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 72 6f t.prop))...............(list.pro
16540 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 74 6f 6d 20 70 72 6f 70 29 0a 20 20 20 20 20 20 p))).........((atom.prop).......
16560 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 28 ...nil).........((and.(symbolp.(
16580 63 61 72 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 3f 3a 20 car.prop))...............(eq.?:.
165a0 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 70 72 6f 70 29 29 20 30 (aref.(symbol-name.(car.prop)).0
165c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 )))..........(list.prop)).......
165e0 20 20 28 28 6f 72 20 28 65 71 20 28 63 61 72 20 70 72 6f 70 29 20 27 66 6f 72 65 67 72 6f 75 6e ..((or.(eq.(car.prop).'foregroun
16600 64 2d 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 61 72 20 70 d-color)..............(eq.(car.p
16620 72 6f 70 29 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 rop).'background-color))........
16640 20 20 28 6c 69 73 74 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 ..(list.prop)).........(t.......
16660 20 20 20 28 61 70 70 6c 79 20 23 27 6e 63 6f 6e 63 20 28 6d 61 70 63 61 72 20 23 27 68 74 6d 6c ...(apply.#'nconc.(mapcar.#'html
16680 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 70 72 6f 70 29 29 29 29 29 0a 0a ize-decode-face-prop.prop)))))..
166a0 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 6f 76 65 72 72 69 64 65 2d 66 73 74 72 (defun.htmlize-get-override-fstr
166c0 75 63 74 20 28 66 61 63 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 72 61 77 2d 64 65 66 20 28 70 6c uct.(face)...(let*.((raw-def.(pl
166e0 69 73 74 2d 67 65 74 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 6f 76 65 72 72 69 64 65 73 20 66 ist-get.htmlize-face-overrides.f
16700 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 20 28 63 6f 6e 64 20 28 28 73 74 72 69 ace))..........(def.(cond.((stri
16720 6e 67 70 20 72 61 77 2d 64 65 66 29 20 28 6c 69 73 74 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 72 ngp.raw-def).(list.:foreground.r
16740 61 77 2d 64 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6c aw-def)).....................((l
16760 69 73 74 70 20 72 61 77 2d 64 65 66 29 20 72 61 77 2d 64 65 66 29 0a 20 20 20 20 20 20 20 20 20 istp.raw-def).raw-def)..........
16780 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 20 20 20 20 ...........(t...................
167a0 20 20 20 28 65 72 72 6f 72 20 22 46 61 63 65 20 6f 76 65 72 72 69 64 65 20 6d 75 73 74 20 62 65 ...(error."Face.override.must.be
167c0 20 25 73 2c 20 67 6f 74 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%s,.got.%s"....................
167e0 20 20 20 20 20 20 20 20 20 22 61 6e 20 61 74 74 72 69 62 75 74 65 20 6c 69 73 74 20 6f 72 20 73 ........."an.attribute.list.or.s
16800 74 72 69 6e 67 22 20 72 61 77 2d 64 65 66 29 29 29 29 29 0a 20 20 20 20 28 61 6e 64 20 64 65 66 tring".raw-def))))).....(and.def
16820 0a 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 61 74 74 72 6c 69 73 74 2d 74 6f 2d 66 ..........(htmlize-attrlist-to-f
16840 73 74 72 75 63 74 20 64 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 61 63 65 29 29 29 29 struct.def.(symbol-name.face))))
16860 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 61 63 65 2d 6d 61 70 20 )..(defun.htmlize-make-face-map.
16880 28 66 61 63 65 73 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 61 20 68 61 73 68 20 74 61 62 6c 65 (faces)...;;.Return.a.hash.table
168a0 20 6d 61 70 70 69 6e 67 20 45 6d 61 63 73 20 66 61 63 65 73 20 74 6f 20 68 74 6d 6c 69 7a 65 27 .mapping.Emacs.faces.to.htmlize'
168c0 73 20 66 73 74 72 75 63 74 73 2e 0a 20 20 3b 3b 20 54 68 65 20 6b 65 79 73 20 61 72 65 20 65 69 s.fstructs....;;.The.keys.are.ei
168e0 74 68 65 72 20 66 61 63 65 20 73 79 6d 62 6f 6c 73 20 6f 72 20 61 74 74 72 6c 69 73 74 73 2c 20 ther.face.symbols.or.attrlists,.
16900 73 6f 20 74 68 65 20 74 65 73 74 0a 20 20 3b 3b 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 so.the.test...;;.function.must.b
16920 65 20 60 65 71 75 61 6c 27 2e 0a 20 20 28 6c 65 74 20 28 28 66 61 63 65 2d 6d 61 70 20 28 6d 61 e.`equal'....(let.((face-map.(ma
16940 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 0a 20 20 20 ke-hash-table.:test.'equal))....
16960 20 20 20 20 20 63 73 73 2d 6e 61 6d 65 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 61 63 .....css-names).....(dolist.(fac
16980 65 20 66 61 63 65 73 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 73 68 20 e.faces).......(unless.(gethash.
169a0 66 61 63 65 20 66 61 63 65 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 61 76 65 6e 27 face.face-map).........;;.Haven'
169c0 74 20 73 65 65 6e 20 46 41 43 45 20 79 65 74 3b 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 61 t.seen.FACE.yet;.convert.it.to.a
169e0 6e 20 66 73 74 72 75 63 74 20 61 6e 64 20 63 61 63 68 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 69 n.fstruct.and.cache.........;;.i
16a00 74 2e 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 74 20 28 68 74 6d 6c 69 t..........(let.((fstruct.(htmli
16a20 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 74 72 75 63 74 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 ze-face-to-fstruct.face)))......
16a40 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 66 61 63 65 20 66 61 63 65 2d 6d 61 .....(setf.(gethash.face.face-ma
16a60 70 29 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 73 p).fstruct)...........(let*.((cs
16a80 73 2d 6e 61 6d 65 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 s-name.(htmlize-fstruct-css-name
16aa0 20 66 73 74 72 75 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 .fstruct))..................(new
16ac0 2d 6e 61 6d 65 20 63 73 73 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -name.css-name).................
16ae0 20 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 6e 69 71 75 69 66 79 20 .(i.0)).............;;.Uniquify.
16b00 74 68 65 20 66 61 63 65 27 73 20 63 73 73 2d 6e 61 6d 65 20 62 79 20 75 73 69 6e 67 20 4e 41 4d the.face's.css-name.by.using.NAM
16b20 45 2d 31 2c 20 4e 41 4d 45 2d 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 74 63 2e E-1,.NAME-2,.............;;.etc.
16b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6d 65 6d 62 65 72 20 6e 65 77 2d .............(while.(member.new-
16b60 6e 61 6d 65 20 63 73 73 2d 6e 61 6d 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 name.css-names)...............(s
16b80 65 74 71 20 6e 65 77 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 73 22 20 63 73 73 etq.new-name.(format."%s-%s".css
16ba0 2d 6e 61 6d 65 20 28 63 6c 2d 69 6e 63 66 20 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -name.(cl-incf.i))))............
16bc0 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 6e 65 77 2d 6e 61 6d 65 20 63 73 73 2d 6e 61 6d .(unless.(equal.new-name.css-nam
16be0 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d e)...............(setf.(htmlize-
16c00 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 6e 65 77 2d 6e 61 fstruct-css-name.fstruct).new-na
16c20 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 65 77 2d 6e 61 6d 65 20 me)).............(push.new-name.
16c40 63 73 73 2d 6e 61 6d 65 73 29 29 29 29 29 0a 20 20 20 20 66 61 63 65 2d 6d 61 70 29 29 0a 0a 28 css-names))))).....face-map))..(
16c60 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 75 6e 73 74 72 69 6e 67 69 66 79 2d 66 61 63 65 20 28 defun.htmlize-unstringify-face.(
16c80 66 61 63 65 29 0a 20 20 22 49 66 20 46 41 43 45 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 72 65 face)..."If.FACE.is.a.string,.re
16ca0 74 75 72 6e 20 69 74 20 69 6e 74 65 72 6e 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 turn.it.interned,.otherwise.retu
16cc0 72 6e 20 69 74 20 75 6e 63 68 61 6e 67 65 64 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 rn.it.unchanged."...(if.(stringp
16ce0 20 66 61 63 65 29 0a 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 66 61 63 65 29 0a 20 20 20 20 66 .face).......(intern.face).....f
16d00 61 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 73 2d 69 6e 2d 62 ace))..(defun.htmlize-faces-in-b
16d20 75 66 66 65 72 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 66 61 63 uffer.()..."Return.a.list.of.fac
16d40 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 54 es.used.in.the.current.buffer..T
16d60 68 69 73 20 69 73 20 74 68 65 20 73 65 74 20 6f 66 20 66 61 63 65 73 20 73 70 65 63 69 66 69 65 his.is.the.set.of.faces.specifie
16d80 64 20 62 79 20 74 68 65 20 60 66 61 63 65 27 20 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 61 6e d.by.the.`face'.text.property.an
16da0 64 20 62 79 20 62 75 66 66 65 72 0a 6f 76 65 72 6c 61 79 73 20 74 68 61 74 20 73 70 65 63 69 66 d.by.buffer.overlays.that.specif
16dc0 79 20 60 66 61 63 65 27 2e 22 0a 20 20 28 6c 65 74 20 28 66 61 63 65 73 29 0a 20 20 20 20 3b 3b y.`face'."...(let.(faces).....;;
16de0 20 46 61 63 65 73 20 75 73 65 64 20 62 79 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 0a .Faces.used.by.text.properties..
16e00 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 66 61 63 65 ....(let.((pos.(point-min)).face
16e20 2d 70 72 6f 70 20 6e 65 78 74 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 -prop.next).......(while.(<.pos.
16e40 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 65 2d (point-max)).........(setq.face-
16e60 70 72 6f 70 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 66 61 63 prop.(get-text-property.pos.'fac
16e80 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 20 28 6f 72 20 28 6e 65 78 74 2d e)...............next.(or.(next-
16ea0 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 66 61 63 65 single-property-change.pos.'face
16ec0 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 ).(point-max))).........(setq.fa
16ee0 63 65 73 20 28 63 6c 2d 6e 75 6e 69 6f 6e 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 ces.(cl-nunion.(htmlize-decode-f
16f00 61 63 65 2d 70 72 6f 70 20 66 61 63 65 2d 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ace-prop.face-prop).............
16f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 63 65 73 20 3a 74 65 73 74 20 27 ...................faces.:test.'
16f40 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 29 29 equal)).........(setq.pos.next))
16f60 29 0a 20 20 20 20 3b 3b 20 46 61 63 65 73 20 75 73 65 64 20 62 79 20 6f 76 65 72 6c 61 79 73 2e ).....;;.Faces.used.by.overlays.
16f80 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6f 76 65 72 6c 61 79 20 28 6f 76 65 72 6c 61 79 73 2d .....(dolist.(overlay.(overlays-
16fa0 69 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 in.(point-min).(point-max)))....
16fc0 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 2d 70 72 6f 70 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 ...(let.((face-prop.(overlay-get
16fe0 20 6f 76 65 72 6c 61 79 20 27 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .overlay.'face))).........(setq.
17000 66 61 63 65 73 20 28 63 6c 2d 6e 75 6e 69 6f 6e 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 faces.(cl-nunion.(htmlize-decode
17020 2d 66 61 63 65 2d 70 72 6f 70 20 66 61 63 65 2d 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 -face-prop.face-prop)...........
17040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 63 65 73 20 3a 74 65 73 74 .....................faces.:test
17060 20 27 65 71 75 61 6c 29 29 29 29 0a 20 20 20 20 66 61 63 65 73 29 29 0a 0a 3b 3b 20 68 74 6d 6c .'equal)))).....faces))..;;.html
17080 69 7a 65 2d 66 61 63 65 73 2d 61 74 2d 70 6f 69 6e 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 ize-faces-at-point.returns.the.f
170a0 61 63 65 73 20 69 6e 20 75 73 65 20 61 74 20 70 6f 69 6e 74 2e 20 20 54 68 65 0a 3b 3b 20 66 61 aces.in.use.at.point...The.;;.fa
170c0 63 65 73 20 61 72 65 20 73 6f 72 74 65 64 20 62 79 20 69 6e 63 72 65 61 73 69 6e 67 20 70 72 69 ces.are.sorted.by.increasing.pri
170e0 6f 72 69 74 79 2c 20 69 2e 65 2e 20 74 68 65 20 6c 61 73 74 20 66 61 63 65 20 74 61 6b 65 73 0a ority,.i.e..the.last.face.takes.
17100 3b 3b 20 70 72 65 63 65 64 65 6e 63 65 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 72 65 74 75 72 6e ;;.precedence..;;.;;.This.return
17120 73 20 61 6c 6c 20 74 68 65 20 66 61 63 65 73 20 69 6e 20 74 68 65 20 60 66 61 63 65 27 20 70 72 s.all.the.faces.in.the.`face'.pr
17140 6f 70 65 72 74 79 20 61 6e 64 20 61 6c 6c 20 74 68 65 20 66 61 63 65 73 0a 3b 3b 20 69 6e 20 74 operty.and.all.the.faces.;;.in.t
17160 68 65 20 6f 76 65 72 6c 61 79 73 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 28 64 65 66 75 6e 20 68 74 he.overlays.at.point...(defun.ht
17180 6d 6c 69 7a 65 2d 66 61 63 65 73 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 28 6c 65 74 20 28 mlize-faces-at-point.()...(let.(
171a0 61 6c 6c 2d 66 61 63 65 73 29 0a 20 20 20 20 3b 3b 20 46 61 63 65 73 20 66 72 6f 6d 20 74 65 78 all-faces).....;;.Faces.from.tex
171c0 74 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 2d 70 72 t.properties......(let.((face-pr
171e0 6f 70 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 66 op.(get-text-property.(point).'f
17200 61 63 65 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 77 65 20 6e 65 65 64 20 74 6f 20 72 65 76 65 72 ace))).......;;.we.need.to.rever
17220 73 65 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 20 62 65 63 61 75 73 65 20 77 65 20 77 61 se.the.`face'.prop.because.we.wa
17240 6e 74 0a 20 20 20 20 20 20 3b 3b 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 20 66 61 63 65 73 20 nt.......;;.more.specific.faces.
17260 74 6f 20 63 6f 6d 65 20 6c 61 74 65 72 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 6c 6c 2d 66 61 to.come.later.......(setq.all-fa
17280 63 65 73 20 28 6e 72 65 76 65 72 73 65 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 ces.(nreverse.(htmlize-decode-fa
172a0 63 65 2d 70 72 6f 70 20 66 61 63 65 2d 70 72 6f 70 29 29 29 29 0a 20 20 20 20 3b 3b 20 46 61 63 ce-prop.face-prop)))).....;;.Fac
172c0 65 73 20 66 72 6f 6d 20 6f 76 65 72 6c 61 79 73 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 76 65 es.from.overlays......(let.((ove
172e0 72 6c 61 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6c 6c 65 63 74 20 6f 76 65 72 rlays............;;.Collect.over
17300 6c 61 79 73 20 61 74 20 70 6f 69 6e 74 20 74 68 61 74 20 73 70 65 63 69 66 79 20 60 66 61 63 65 lays.at.point.that.specify.`face
17320 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 64 65 6c 65 74 65 2d 69 66 2d 6e 6f 74 20 '.............(cl-delete-if-not.
17340 28 6c 61 6d 62 64 61 20 28 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (lambda.(o).....................
17360 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 20 27 66 61 63 65 29 ...........(overlay-get.o.'face)
17380 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 28 )..............................(
173a0 6e 72 65 76 65 72 73 65 20 28 6f 76 65 72 6c 61 79 73 2d 61 74 20 28 70 6f 69 6e 74 29 20 74 29 nreverse.(overlays-at.(point).t)
173c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 20 66 61 63 65 2d 70 72 6f 70 29 0a 20 20 )))...........list.face-prop)...
173e0 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6f 76 65 72 6c 61 79 20 6f 76 65 72 6c 61 79 73 29 0a 20 ....(dolist.(overlay.overlays)..
17400 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 65 2d 70 72 6f 70 20 28 6f 76 65 72 6c 61 79 2d .......(setq.face-prop.(overlay-
17420 67 65 74 20 6f 76 65 72 6c 61 79 20 27 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 get.overlay.'face)..............
17440 20 6c 69 73 74 20 28 6e 63 6f 6e 63 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 .list.(nconc.(htmlize-decode-fac
17460 65 2d 70 72 6f 70 20 66 61 63 65 2d 70 72 6f 70 29 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 e-prop.face-prop).list))).......
17480 3b 3b 20 55 6e 64 65 72 20 22 4d 65 72 67 69 6e 67 20 46 61 63 65 73 22 20 74 68 65 20 6d 61 6e ;;.Under."Merging.Faces".the.man
174a0 75 61 6c 20 65 78 70 6c 69 63 69 74 6c 79 20 73 74 61 74 65 73 0a 20 20 20 20 20 20 3b 3b 20 74 ual.explicitly.states.......;;.t
174c0 68 61 74 20 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 6f 76 65 72 6c 61 79 73 20 hat.faces.specified.by.overlays.
174e0 74 61 6b 65 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 0a 20 20 20 20 20 20 3b 3b 20 66 61 take.precedence.over.......;;.fa
17500 63 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 ces.specified.by.text.properties
17520 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 6c 6c 2d 66 61 63 65 73 20 28 6e 63 6f 6e 63 20 61 ........(setq.all-faces.(nconc.a
17540 6c 6c 2d 66 61 63 65 73 20 6c 69 73 74 29 29 29 0a 20 20 20 20 61 6c 6c 2d 66 61 63 65 73 29 29 ll-faces.list))).....all-faces))
17560 0a 0c 0a 3b 3b 20 68 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 73 20 67 65 6e 65 72 61 74 69 6e ...;;.htmlize.supports.generatin
17580 67 20 48 54 4d 4c 20 69 6e 20 73 65 76 65 72 61 6c 20 66 6c 61 76 6f 72 73 2c 20 73 6f 6d 65 20 g.HTML.in.several.flavors,.some.
175a0 6f 66 20 77 68 69 63 68 0a 3b 3b 20 75 73 65 20 43 53 53 2c 20 61 6e 64 20 6f 74 68 65 72 73 20 of.which.;;.use.CSS,.and.others.
175c0 74 68 65 20 3c 66 6f 6e 74 3e 20 65 6c 65 6d 65 6e 74 2e 20 20 57 65 20 74 61 6b 65 20 61 6e 20 the.<font>.element...We.take.an.
175e0 4f 4f 20 61 70 70 72 6f 61 63 68 20 61 6e 64 0a 3b 3b 20 64 65 66 69 6e 65 20 22 6d 65 74 68 6f OO.approach.and.;;.define."metho
17600 64 73 22 20 74 68 61 74 20 69 6e 64 69 72 65 63 74 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f ds".that.indirect.to.the.functio
17620 6e 73 20 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 6f 75 ns.that.depend.on.;;.`htmlize-ou
17640 74 70 75 74 2d 74 79 70 65 27 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 tput-type'...The.currently.used.
17660 6d 65 74 68 6f 64 73 20 61 72 65 20 60 64 6f 63 74 79 70 65 27 2c 0a 3b 3b 20 60 69 6e 73 65 72 methods.are.`doctype',.;;.`inser
17680 74 2d 68 65 61 64 27 2c 20 60 62 6f 64 79 2d 74 61 67 27 2c 20 60 70 72 65 2d 74 61 67 27 2c 20 t-head',.`body-tag',.`pre-tag',.
176a0 61 6e 64 20 60 74 65 78 74 2d 6d 61 72 6b 75 70 27 2e 20 20 4e 6f 74 20 61 6c 6c 0a 3b 3b 20 6f and.`text-markup'...Not.all.;;.o
176c0 75 74 70 75 74 20 74 79 70 65 73 20 64 65 66 69 6e 65 20 61 6c 6c 20 6d 65 74 68 6f 64 73 2e 0a utput.types.define.all.methods..
176e0 3b 3b 0a 3b 3b 20 4d 65 74 68 6f 64 73 20 61 72 65 20 63 61 6c 6c 65 64 20 65 69 74 68 65 72 20 ;;.;;.Methods.are.called.either.
17700 77 69 74 68 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 4d 45 54 48 4f 44 20 41 52 47 53 with.(htmlize-method.METHOD.ARGS
17720 2e 2e 2e 29 0a 3b 3b 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 2c 20 6f 72 20 62 79 20 61 63 63 65 ...).;;.special.form,.or.by.acce
17740 73 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 0a 3b 3b 20 28 68 74 6d 6c ssing.the.function.with.;;.(html
17760 69 7a 65 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 27 4d 45 54 48 4f 44 29 20 61 6e 64 ize-method-function.'METHOD).and
17780 20 63 61 6c 6c 69 6e 67 20 28 66 75 6e 63 61 6c 6c 20 46 55 4e 43 54 49 4f 4e 29 2e 0a 3b 3b 20 .calling.(funcall.FUNCTION)..;;.
177a0 54 68 65 20 6c 61 74 74 65 72 20 66 6f 72 6d 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 74 69 67 The.latter.form.is.useful.in.tig
177c0 68 74 20 6c 6f 6f 70 73 20 62 65 63 61 75 73 65 20 60 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 ht.loops.because.`htmlize-method
177e0 27 0a 3b 3b 20 63 6f 6e 73 65 73 2e 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 74 6d 6c 69 7a 65 2d '.;;.conses...(defmacro.htmlize-
17800 6d 65 74 68 6f 64 20 28 6d 65 74 68 6f 64 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 3b 3b 20 method.(method.&rest.args)...;;.
17820 45 78 70 61 6e 64 20 74 6f 20 28 68 74 6d 6c 69 7a 65 2d 54 59 50 45 2d 4d 45 54 48 4f 44 20 2e Expand.to.(htmlize-TYPE-METHOD..
17840 2e 2e 41 52 47 53 2e 2e 2e 29 2e 20 20 54 59 50 45 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f ..ARGS...)...TYPE.is.the.value.o
17860 66 0a 20 20 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 27 20 61 74 20 f...;;.`htmlize-output-type'.at.
17880 72 75 6e 20 74 69 6d 65 2e 0a 20 20 60 28 66 75 6e 63 61 6c 6c 20 28 68 74 6d 6c 69 7a 65 2d 6d run.time....`(funcall.(htmlize-m
178a0 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 27 2c 6d 65 74 68 6f 64 29 20 2c 40 61 72 67 73 29 ethod-function.',method).,@args)
178c0 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f )..(defun.htmlize-method-functio
178e0 6e 20 28 6d 65 74 68 6f 64 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 4d 45 54 48 4f 44 27 73 20 n.(method)...;;.Return.METHOD's.
17900 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 72 function.definition.for.the.curr
17920 65 6e 74 20 6f 75 74 70 75 74 20 74 79 70 65 2e 0a 20 20 3b 3b 20 54 68 65 20 72 65 74 75 72 6e ent.output.type....;;.The.return
17940 65 64 20 6f 62 6a 65 63 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 66 75 6e 63 61 6c 6c 65 ed.object.can.be.safely.funcalle
17960 64 2e 0a 20 20 28 6c 65 74 20 28 28 73 79 6d 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 d....(let.((sym.(intern.(format.
17980 22 68 74 6d 6c 69 7a 65 2d 25 73 2d 25 73 22 20 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 "htmlize-%s-%s".htmlize-output-t
179a0 79 70 65 20 6d 65 74 68 6f 64 29 29 29 29 0a 20 20 20 20 28 69 6e 64 69 72 65 63 74 2d 66 75 6e ype.method)))).....(indirect-fun
179c0 63 74 69 6f 6e 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 ction.(if.(fboundp.sym).........
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 0a 20 20 20 20 20 20 20 20 20 ...................sym..........
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 20 28 ................(let.((default.(
17a20 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 68 74 6d 6c 69 7a 65 2d 64 65 66 61 75 6c 74 2d intern.(format."htmlize-default-
17a40 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 20 20 20 20 20 20 20 %s".............................
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 ............................meth
17a80 6f 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 od))))..........................
17aa0 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 ..(if.(fboundp.default).........
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 0a 20 .......................default..
17ae0 20 20 20 20 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 69 67 6e ............................'ign
17b00 6f 72 65 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 ore))))))..(defvar.htmlize-memoi
17b20 7a 61 74 69 6f 6e 2d 74 61 62 6c 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 zation-table.(make-hash-table.:t
17b40 65 73 74 20 27 65 71 75 61 6c 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 74 6d 6c 69 7a 65 2d est.'equal))..(defmacro.htmlize-
17b60 6d 65 6d 6f 69 7a 65 20 28 6b 65 79 20 67 65 6e 65 72 61 74 6f 72 29 0a 20 20 22 52 65 74 75 72 memoize.(key.generator)..."Retur
17b80 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 47 45 4e 45 52 41 54 4f 52 2c 20 6d 65 6d 6f 69 7a n.the.value.of.GENERATOR,.memoiz
17ba0 65 64 20 61 73 20 4b 45 59 2e 0a 54 68 61 74 20 6d 65 61 6e 73 20 74 68 61 74 20 47 45 4e 45 52 ed.as.KEY..That.means.that.GENER
17bc0 41 54 4f 52 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 20 72 65 74 75 72 ATOR.will.be.evaluated.and.retur
17be0 6e 65 64 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 0a 69 74 27 73 20 63 61 6c 6c 65 64 20 77 ned.the.first.time.it's.called.w
17c00 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 6f 66 20 4b 45 59 2e 20 20 41 6c 6c 20 ith.the.same.value.of.KEY...All.
17c20 6f 74 68 65 72 20 74 69 6d 65 73 2c 20 74 68 65 20 63 61 63 68 65 64 0a 5c 28 6d 65 6d 6f 69 7a other.times,.the.cached.\(memoiz
17c40 65 64 29 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 22 0a 20 20 28 ed).value.will.be.returned."...(
17c60 6c 65 74 20 28 28 76 61 6c 75 65 20 28 67 65 6e 73 79 6d 29 29 29 0a 20 20 20 20 60 28 6c 65 74 let.((value.(gensym))).....`(let
17c80 20 28 28 2c 76 61 6c 75 65 20 28 67 65 74 68 61 73 68 20 2c 6b 65 79 20 68 74 6d 6c 69 7a 65 2d .((,value.(gethash.,key.htmlize-
17ca0 6d 65 6d 6f 69 7a 61 74 69 6f 6e 2d 74 61 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 28 75 6e 6c memoization-table)))........(unl
17cc0 65 73 73 20 2c 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 76 61 6c 75 65 ess.,value..........(setq.,value
17ce0 20 2c 67 65 6e 65 72 61 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 67 65 74 .,generator)..........(setf.(get
17d00 68 61 73 68 20 2c 6b 65 79 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 2d 74 61 hash.,key.htmlize-memoization-ta
17d20 62 6c 65 29 20 2c 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 2c 76 61 6c 75 65 29 29 29 0a 0a ble).,value))........,value)))..
17d40 0c 0a 3b 3b 3b 20 44 65 66 61 75 6c 74 20 6d 65 74 68 6f 64 73 2e 0a 0a 28 64 65 66 75 6e 20 68 ..;;;.Default.methods...(defun.h
17d60 74 6d 6c 69 7a 65 2d 64 65 66 61 75 6c 74 2d 64 6f 63 74 79 70 65 20 28 29 0a 20 20 6e 69 6c 20 tmlize-default-doctype.()...nil.
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17da0 20 20 3b 20 6e 6f 20 64 6f 63 2d 73 74 72 69 6e 67 0a 20 20 3b 3b 20 4e 6f 74 65 20 74 68 61 74 ..;.no.doc-string...;;.Note.that
17dc0 20 74 68 65 20 60 66 6f 6e 74 27 20 6f 75 74 70 75 74 20 69 73 20 74 65 63 68 6e 69 63 61 6c 6c .the.`font'.output.is.technicall
17de0 79 20 69 6e 76 61 6c 69 64 20 75 6e 64 65 72 20 74 68 69 73 20 44 54 44 0a 20 20 3b 3b 20 62 65 y.invalid.under.this.DTD...;;.be
17e00 63 61 75 73 65 20 74 68 65 20 44 54 44 20 64 6f 65 73 6e 27 74 20 61 6c 6c 6f 77 20 65 6d 62 65 cause.the.DTD.doesn't.allow.embe
17e20 64 64 69 6e 67 20 3c 66 6f 6e 74 3e 20 69 6e 20 3c 70 72 65 3e 2e 0a 20 20 22 3c 21 44 4f 43 54 dding.<font>.in.<pre>...."<!DOCT
17e40 59 50 45 20 68 74 6d 6c 20 50 55 42 4c 49 43 20 5c 22 2d 2f 2f 57 33 43 2f 2f 44 54 44 20 48 54 YPE.html.PUBLIC.\"-//W3C//DTD.HT
17e60 4d 4c 20 34 2e 30 31 2f 2f 45 4e 5c 22 3e 22 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 ML.4.01//EN\">")..(defun.htmlize
17e80 2d 64 65 66 61 75 6c 74 2d 62 6f 64 79 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 6e -default-body-tag.(face-map)...n
17ea0 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 il..............................
17ec0 20 20 20 20 20 3b 20 6e 6f 20 64 6f 63 2d 73 74 72 69 6e 67 0a 20 20 66 61 63 65 2d 6d 61 70 20 .....;.no.doc-string...face-map.
17ee0 3b 20 73 68 75 74 20 75 70 20 74 68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 0a 20 20 22 3c ;.shut.up.the.byte-compiler..."<
17f00 62 6f 64 79 3e 22 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 66 61 75 6c 74 2d body>")..(defun.htmlize-default-
17f20 70 72 65 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 6e 69 6c 20 20 20 20 20 20 20 20 pre-tag.(face-map)...nil........
17f40 20 20 20 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 20 6e 6f 20 ...........................;.no.
17f60 64 6f 63 2d 73 74 72 69 6e 67 0a 20 20 66 61 63 65 2d 6d 61 70 20 3b 20 73 68 75 74 20 75 70 20 doc-string...face-map.;.shut.up.
17f80 74 68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 0a 20 20 22 3c 70 72 65 3e 22 29 0a 0a 0c 0a the.byte-compiler..."<pre>")....
17fa0 3b 3b 3b 20 43 53 53 20 62 61 73 65 64 20 6f 75 74 70 75 74 20 73 75 70 70 6f 72 74 2e 0a 0a 3b ;;;.CSS.based.output.support...;
17fc0 3b 20 49 6e 74 65 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 3b 20 6e 6f 74 20 61 20 6d 65 74 68 6f ;.Internal.function;.not.a.metho
17fe0 64 2e 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 28 66 73 74 d..(defun.htmlize-css-specs.(fst
18000 72 75 63 74 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 65 6e 20 ruct)...(let.(result).....(when.
18020 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 66 73 74 72 (htmlize-fstruct-foreground.fstr
18040 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 63 6f 6c 6f 72 3a uct).......(push.(format."color:
18060 20 25 73 3b 22 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e .%s;".(htmlize-fstruct-foregroun
18080 64 20 66 73 74 72 75 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 d.fstruct)).............result))
180a0 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b .....(when.(htmlize-fstruct-back
180c0 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 ground.fstruct).......(push.(for
180e0 6d 61 74 20 22 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 25 73 3b 22 0a 20 20 20 20 mat."background-color:.%s;".....
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 ................(htmlize-fstruct
18120 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 -background.fstruct))...........
18140 20 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 68 74 6d 6c ..result)).....(let.((size.(html
18160 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 66 73 74 72 75 63 74 29 29 29 0a 20 20 20 20 ize-fstruct-size.fstruct))).....
18180 20 20 28 77 68 65 6e 20 28 61 6e 64 20 73 69 7a 65 20 28 6e 6f 74 20 28 65 71 20 68 74 6d 6c 69 ..(when.(and.size.(not.(eq.htmli
181a0 7a 65 2d 69 67 6e 6f 72 65 2d 66 61 63 65 2d 73 69 7a 65 20 74 29 29 29 0a 20 20 20 20 20 20 20 ze-ignore-face-size.t)))........
181c0 20 28 63 6f 6e 64 20 28 28 66 6c 6f 61 74 70 20 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 .(cond.((floatp.size)...........
181e0 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 66 6f 6e 74 2d 73 69 7a 65 3a 20 25 .....(push.(format."font-size:.%
18200 64 25 25 3b 22 20 28 2a 20 31 30 30 20 73 69 7a 65 29 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 d%%;".(*.100.size)).result))....
18220 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 65 71 20 68 74 6d 6c 69 7a 65 2d 69 67 6e ...........((not.(eq.htmlize-ign
18240 6f 72 65 2d 66 61 63 65 2d 73 69 7a 65 20 27 61 62 73 6f 6c 75 74 65 29 29 0a 20 20 20 20 20 20 ore-face-size.'absolute)).......
18260 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 66 6f 6e 74 2d 73 69 7a .........(push.(format."font-siz
18280 65 3a 20 25 73 70 74 3b 22 20 28 2f 20 73 69 7a 65 20 31 30 2e 30 29 29 20 72 65 73 75 6c 74 29 e:.%spt;".(/.size.10.0)).result)
182a0 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d )))).....(when.(htmlize-fstruct-
182c0 62 6f 6c 64 70 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 22 66 6f 6e 74 boldp.fstruct).......(push."font
182e0 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 22 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 77 68 -weight:.bold;".result)).....(wh
18300 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 66 73 74 72 en.(htmlize-fstruct-italicp.fstr
18320 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 22 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69 74 uct).......(push."font-style:.it
18340 61 6c 69 63 3b 22 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 alic;".result)).....(when.(htmli
18360 7a 65 2d 66 73 74 72 75 63 74 2d 75 6e 64 65 72 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 0a 20 ze-fstruct-underlinep.fstruct)..
18380 20 20 20 20 20 28 70 75 73 68 20 22 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 75 6e 64 .....(push."text-decoration:.und
183a0 65 72 6c 69 6e 65 3b 22 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d erline;".result)).....(when.(htm
183c0 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 6f 76 65 72 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 0a lize-fstruct-overlinep.fstruct).
183e0 20 20 20 20 20 20 28 70 75 73 68 20 22 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6f 76 ......(push."text-decoration:.ov
18400 65 72 6c 69 6e 65 3b 22 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d erline;".result)).....(when.(htm
18420 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 20 66 73 74 72 75 63 74 29 0a 20 20 lize-fstruct-strikep.fstruct)...
18440 20 20 20 20 28 70 75 73 68 20 22 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6c 69 6e 65 ....(push."text-decoration:.line
18460 2d 74 68 72 6f 75 67 68 3b 22 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 -through;".result)).....(nrevers
18480 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d e.result)))..(defun.htmlize-css-
184a0 69 6e 73 65 72 74 2d 68 65 61 64 20 28 62 75 66 66 65 72 2d 66 61 63 65 73 20 66 61 63 65 2d 6d insert-head.(buffer-faces.face-m
184c0 61 70 29 0a 20 20 28 69 6e 73 65 72 74 20 22 20 20 20 20 3c 73 74 79 6c 65 20 74 79 70 65 3d 5c ap)...(insert."....<style.type=\
184e0 22 74 65 78 74 2f 63 73 73 5c 22 3e 5c 6e 20 20 20 20 3c 21 2d 2d 5c 6e 22 29 0a 20 20 28 69 6e "text/css\">\n....<!--\n")...(in
18500 73 65 72 74 20 22 20 20 20 20 20 20 62 6f 64 79 20 7b 5c 6e 20 20 20 20 20 20 20 20 22 0a 20 20 sert."......body.{\n........"...
18520 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 ........(mapconcat.#'identity...
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d ...................(htmlize-css-
18560 73 70 65 63 73 20 28 67 65 74 68 61 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 specs.(gethash.'default.face-map
18580 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 20 20 20 20 20 ))......................"\n.....
185a0 20 20 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 22 5c 6e 20 20 20 20 20 20 7d 5c 6e 22 29 0a 20 ...")..........."\n......}\n")..
185c0 20 28 64 6f 6c 69 73 74 20 28 66 61 63 65 20 28 63 6c 2d 73 6f 72 74 20 28 63 6c 2d 63 6f 70 79 .(dolist.(face.(cl-sort.(cl-copy
185e0 2d 6c 69 73 74 20 62 75 66 66 65 72 2d 66 61 63 65 73 29 20 23 27 73 74 72 69 6e 67 2d 6c 65 73 -list.buffer-faces).#'string-les
18600 73 70 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 3a 6b 65 79 sp..........................:key
18620 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(f)....................
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 .............(htmlize-fstruct-cs
18660 73 2d 6e 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 s-name..........................
18680 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 66 20 66 61 63 65 2d 6d 61 70 29 29 29 29 29 ........(gethash.f.face-map)))))
186a0 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 66 73 74 72 75 63 74 20 28 67 65 74 68 61 73 68 20 66 61 .....(let*.((fstruct.(gethash.fa
186c0 63 65 20 66 61 63 65 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 65 61 6e 65 ce.face-map))............(cleane
186e0 64 2d 75 70 2d 66 61 63 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 d-up-face-name.............(let.
18700 28 28 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 60 70 ((s....................;;.Use.`p
18720 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 27 20 72 61 74 68 65 72 20 74 68 61 6e 20 60 73 79 6d rin1-to-string'.rather.than.`sym
18740 62 6f 6c 2d 6e 61 6d 65 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 bol-name'....................;;.
18760 74 6f 20 67 65 74 20 74 68 65 20 66 61 63 65 20 6e 61 6d 65 20 62 65 63 61 75 73 65 20 74 68 65 to.get.the.face.name.because.the
18780 20 22 66 61 63 65 22 20 63 61 6e 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."face".can.also................
187a0 20 20 20 20 3b 3b 20 62 65 20 61 6e 20 61 74 74 72 6c 69 73 74 2c 20 77 68 69 63 68 20 69 73 20 ....;;.be.an.attrlist,.which.is.
187c0 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 not.a.symbol....................
187e0 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 .(prin1-to-string.face))).......
18800 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 ........;;.If.the.name.contains.
18820 60 2d 2d 27 20 6f 72 20 60 2a 2f 27 2c 20 72 65 6d 6f 76 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 `--'.or.`*/',.remove.them.......
18840 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 2d .........(while.(string-match."-
18860 2d 22 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 20 28 72 -".s).................(setq.s.(r
18880 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 2d 22 20 74 20 74 20 73 29 29 29 0a 20 20 20 20 20 20 eplace-match."-".t.t.s))).......
188a0 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c ........(while.(string-match."\\
188c0 2a 2f 22 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 20 28 */".s).................(setq.s.(
188e0 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 58 58 22 20 74 20 74 20 73 29 29 29 0a 20 20 20 20 replace-match."XX".t.t.s))).....
18900 20 20 20 20 20 20 20 20 20 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 70 65 63 73 20 ..........s))............(specs.
18920 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 66 73 74 72 75 63 74 29 29 29 0a 20 20 (htmlize-css-specs.fstruct)))...
18940 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 20 20 20 20 2e 22 20 28 68 74 6d 6c 69 7a 65 2d 66 ....(insert.".......".(htmlize-f
18960 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 29 0a 20 20 20 20 20 20 struct-css-name.fstruct)).......
18980 28 69 66 20 28 6e 75 6c 6c 20 73 70 65 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 (if.(null.specs)...........(inse
189a0 72 74 20 22 20 7b 22 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 7b 5c 6e 20 20 rt.".{").........(insert.".{\n..
189c0 20 20 20 20 20 20 2f 2a 20 22 20 63 6c 65 61 6e 65 64 2d 75 70 2d 66 61 63 65 2d 6e 61 6d 65 20 ....../*.".cleaned-up-face-name.
189e0 22 20 2a 2f 5c 6e 20 20 20 20 20 20 20 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".*/\n........".................
18a00 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 73 70 65 63 73 20 22 5c 6e 20 (mapconcat.#'identity.specs."\n.
18a20 20 20 20 20 20 20 20 22 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 20 ......."))).......(insert."\n...
18a40 20 20 20 7d 5c 6e 22 29 29 29 0a 20 20 28 69 6e 73 65 72 74 20 68 74 6d 6c 69 7a 65 2d 68 79 70 ...}\n")))...(insert.htmlize-hyp
18a60 65 72 6c 69 6e 6b 2d 73 74 79 6c 65 0a 20 20 20 20 20 20 20 20 20 20 22 20 20 20 20 2d 2d 3e 5c erlink-style..........."....-->\
18a80 6e 20 20 20 20 3c 2f 73 74 79 6c 65 3e 5c 6e 22 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 n....</style>\n"))..(defun.htmli
18aa0 7a 65 2d 63 73 73 2d 74 65 78 74 2d 6d 61 72 6b 75 70 20 28 66 73 74 72 75 63 74 2d 6c 69 73 74 ze-css-text-markup.(fstruct-list
18ac0 20 62 75 66 66 65 72 29 0a 20 20 3b 3b 20 4f 70 65 6e 20 74 68 65 20 6d 61 72 6b 75 70 20 6e 65 .buffer)...;;.Open.the.markup.ne
18ae0 65 64 65 64 20 74 6f 20 69 6e 73 65 72 74 20 74 65 78 74 20 63 6f 6c 6f 72 65 64 20 77 69 74 68 eded.to.insert.text.colored.with
18b00 20 46 41 43 45 53 20 69 6e 74 6f 0a 20 20 3b 3b 20 42 55 46 46 45 52 2e 20 20 52 65 74 75 72 6e .FACES.into...;;.BUFFER...Return
18b20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6c 6f 73 65 73 20 74 68 65 20 6d 61 .the.function.that.closes.the.ma
18b40 72 6b 75 70 2e 0a 0a 20 20 3b 3b 20 49 6e 20 43 53 53 20 6d 6f 64 65 2c 20 74 68 69 73 20 69 73 rkup.....;;.In.CSS.mode,.this.is
18b60 20 65 61 73 79 3a 20 6a 75 73 74 20 6e 65 73 74 20 74 68 65 20 74 65 78 74 20 69 6e 20 6f 6e 65 .easy:.just.nest.the.text.in.one
18b80 20 3c 73 70 61 6e 0a 20 20 3b 3b 20 63 6c 61 73 73 3d 2e 2e 2e 3e 20 74 61 67 20 66 6f 72 20 65 .<span...;;.class=...>.tag.for.e
18ba0 61 63 68 20 66 61 63 65 20 69 6e 20 46 53 54 52 55 43 54 2d 4c 49 53 54 2e 0a 20 20 28 64 6f 6c ach.face.in.FSTRUCT-LIST....(dol
18bc0 69 73 74 20 28 66 73 74 72 75 63 74 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 0a 20 20 20 20 28 ist.(fstruct.fstruct-list).....(
18be0 70 72 69 6e 63 20 22 3c 73 70 61 6e 20 63 6c 61 73 73 3d 5c 22 22 20 62 75 66 66 65 72 29 0a 20 princ."<span.class=\"".buffer)..
18c00 20 20 20 28 70 72 69 6e 63 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e ...(princ.(htmlize-fstruct-css-n
18c20 61 6d 65 20 66 73 74 72 75 63 74 29 20 62 75 66 66 65 72 29 0a 20 20 20 20 28 70 72 69 6e 63 20 ame.fstruct).buffer).....(princ.
18c40 22 5c 22 3e 22 20 62 75 66 66 65 72 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 "\">".buffer))...(lambda.().....
18c60 28 64 6f 6c 69 73 74 20 28 5f 66 73 74 72 75 63 74 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 0a (dolist.(_fstruct.fstruct-list).
18c80 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3c 2f 73 70 61 6e 3e 22 20 62 75 66 66 65 72 29 29 29 ......(princ."</span>".buffer)))
18ca0 29 0a 0a 0c 0a 3b 3b 3b 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 6f 75 74 70 75 74 20 73 75 70 )....;;;.`inline-css'.output.sup
18cc0 70 6f 72 74 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 69 6e 6c 69 6e 65 2d 63 73 73 port...(defun.htmlize-inline-css
18ce0 2d 62 6f 64 79 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 66 6f 72 6d 61 74 20 22 -body-tag.(face-map)...(format."
18d00 3c 62 6f 64 79 20 73 74 79 6c 65 3d 5c 22 25 73 5c 22 3e 22 0a 20 20 20 20 20 20 20 20 20 20 28 <body.style=\"%s\">"...........(
18d20 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 28 68 74 6d 6c 69 7a 65 2d 63 73 mapconcat.#'identity.(htmlize-cs
18d40 73 2d 73 70 65 63 73 20 28 67 65 74 68 61 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d s-specs.(gethash.'default.face-m
18d60 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 22 29 29 29 ap))......................".")))
18d80 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 69 6e 6c 69 6e 65 2d 63 73 73 2d 70 72 65 2d ..(defun.htmlize-inline-css-pre-
18da0 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 69 66 20 68 74 6d 6c 69 7a 65 2d 70 72 65 tag.(face-map)...(if.htmlize-pre
18dc0 2d 73 74 79 6c 65 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 70 72 65 20 73 74 79 6c 65 -style.......(format."<pre.style
18de0 3d 5c 22 25 73 5c 22 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 =\"%s\">"...............(mapconc
18e00 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 20 20 20 20 20 at.#'identity...................
18e20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 28 67 65 74 68 61 .......(htmlize-css-specs.(getha
18e40 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 sh.'default.face-map))..........
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 22 29 29 0a 20 20 20 20 28 66 6f 72 6d 61 ................".")).....(forma
18e80 74 20 22 3c 70 72 65 3e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 69 6e 6c t."<pre>")))..(defun.htmlize-inl
18ea0 69 6e 65 2d 63 73 73 2d 74 65 78 74 2d 6d 61 72 6b 75 70 20 28 66 73 74 72 75 63 74 2d 6c 69 73 ine-css-text-markup.(fstruct-lis
18ec0 74 20 62 75 66 66 65 72 29 0a 20 20 28 6c 65 74 2a 20 28 28 6d 65 72 67 65 64 20 28 68 74 6d 6c t.buffer)...(let*.((merged.(html
18ee0 69 7a 65 2d 6d 65 72 67 65 2d 66 61 63 65 73 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 29 0a 20 ize-merge-faces.fstruct-list))..
18f00 20 20 20 20 20 20 20 20 28 73 74 79 6c 65 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 65 0a ........(style.(htmlize-memoize.
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 72 67 65 64 0a 20 20 20 20 20 20 20 20 .................merged.........
18f40 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 70 65 63 73 20 28 68 74 6d 6c 69 7a 65 2d 63 .........(let.((specs.(htmlize-c
18f60 73 73 2d 73 70 65 63 73 20 6d 65 72 67 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ss-specs.merged)))..............
18f80 20 20 20 20 20 20 28 61 6e 64 20 73 70 65 63 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(and.specs................
18fa0 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 .........(mapconcat.#'identity..
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 20 20 20 20 20 20 20 20 ................................
18fe0 20 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 6d 65 72 67 65 64 29 0a 20 20 20 ..(htmlize-css-specs.merged)....
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 22 20 22 29 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 74 79 6c 65 0a 20 20 20 20 20 20 ".")))))).....(when.style.......
19040 28 70 72 69 6e 63 20 22 3c 73 70 61 6e 20 73 74 79 6c 65 3d 5c 22 22 20 62 75 66 66 65 72 29 0a (princ."<span.style=\"".buffer).
19060 20 20 20 20 20 20 28 70 72 69 6e 63 20 73 74 79 6c 65 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 ......(princ.style.buffer)......
19080 20 28 70 72 69 6e 63 20 22 5c 22 3e 22 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 6c 61 6d 62 .(princ."\">".buffer)).....(lamb
190a0 64 61 20 28 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 73 74 79 6c 65 0a 20 20 20 20 20 20 20 20 da.().......(when.style.........
190c0 28 70 72 69 6e 63 20 22 3c 2f 73 70 61 6e 3e 22 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 0c 0a (princ."</span>".buffer)))))....
190e0 3b 3b 3b 20 60 66 6f 6e 74 27 20 74 61 67 20 62 61 73 65 64 20 6f 75 74 70 75 74 20 73 75 70 70 ;;;.`font'.tag.based.output.supp
19100 6f 72 74 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 6f 6e 74 2d 62 6f 64 79 2d 74 ort...(defun.htmlize-font-body-t
19120 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 74 20 28 ag.(face-map)...(let.((fstruct.(
19140 67 65 74 68 61 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 29 0a 20 20 20 gethash.'default.face-map)))....
19160 20 28 66 6f 72 6d 61 74 20 22 3c 62 6f 64 79 20 74 65 78 74 3d 5c 22 25 73 5c 22 20 62 67 63 6f .(format."<body.text=\"%s\".bgco
19180 6c 6f 72 3d 5c 22 25 73 5c 22 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a lor=\"%s\">".............(htmliz
191a0 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 e-fstruct-foreground.fstruct)...
191c0 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b 67 ..........(htmlize-fstruct-backg
191e0 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a round.fstruct))))..(defun.htmliz
19200 65 2d 66 6f 6e 74 2d 70 72 65 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 69 66 20 e-font-pre-tag.(face-map)...(if.
19220 68 74 6d 6c 69 7a 65 2d 70 72 65 2d 73 74 79 6c 65 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 htmlize-pre-style.......(let.((f
19240 73 74 72 75 63 74 20 28 67 65 74 68 61 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 struct.(gethash.'default.face-ma
19260 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 70 72 65 20 74 65 78 74 3d p))).........(format."<pre.text=
19280 5c 22 25 73 5c 22 20 62 67 63 6f 6c 6f 72 3d 5c 22 25 73 5c 22 3e 22 0a 20 20 20 20 20 20 20 20 \"%s\".bgcolor=\"%s\">".........
192a0 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f ........(htmlize-fstruct-foregro
192c0 75 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 und.fstruct).................(ht
192e0 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 mlize-fstruct-background.fstruct
19300 29 29 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 70 72 65 3e 22 29 29 29 0a 0a 28 64 65 66 ))).....(format."<pre>")))..(def
19320 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 6f 6e 74 2d 74 65 78 74 2d 6d 61 72 6b 75 70 20 28 66 73 74 un.htmlize-font-text-markup.(fst
19340 72 75 63 74 2d 6c 69 73 74 20 62 75 66 66 65 72 29 0a 20 20 3b 3b 20 49 6e 20 60 66 6f 6e 74 27 ruct-list.buffer)...;;.In.`font'
19360 20 6d 6f 64 65 2c 20 77 65 20 75 73 65 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 48 54 .mode,.we.use.the.traditional.HT
19380 4d 4c 20 6d 65 61 6e 73 20 6f 66 20 61 6c 74 65 72 69 6e 67 0a 20 20 3b 3b 20 70 72 65 73 65 6e ML.means.of.altering...;;.presen
193a0 74 61 74 69 6f 6e 3a 20 3c 66 6f 6e 74 3e 20 74 61 67 20 66 6f 72 20 63 6f 6c 6f 72 73 2c 20 3c tation:.<font>.tag.for.colors,.<
193c0 62 3e 20 66 6f 72 20 62 6f 6c 64 2c 20 3c 75 3e 20 66 6f 72 0a 20 20 3b 3b 20 75 6e 64 65 72 6c b>.for.bold,.<u>.for...;;.underl
193e0 69 6e 65 2c 20 61 6e 64 20 3c 73 74 72 69 6b 65 3e 20 66 6f 72 20 73 74 72 69 6b 65 2d 74 68 72 ine,.and.<strike>.for.strike-thr
19400 6f 75 67 68 2e 0a 20 20 28 6c 65 74 2a 20 28 28 6d 65 72 67 65 64 20 28 68 74 6d 6c 69 7a 65 2d ough....(let*.((merged.(htmlize-
19420 6d 65 72 67 65 2d 66 61 63 65 73 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 merge-faces.fstruct-list))......
19440 20 20 20 20 28 6d 61 72 6b 75 70 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 65 0a 20 20 20 ....(markup.(htmlize-memoize....
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 72 67 65 64 0a 20 20 20 20 20 20 20 20 20 20 ...............merged...........
19480 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 ........(cons.(concat...........
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 ...............(and.(htmlize-fst
194c0 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 6d 65 72 67 65 64 29 0a 20 20 20 20 20 20 20 20 ruct-foreground.merged).........
194e0 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 20 22 3c ......................(format."<
19500 66 6f 6e 74 20 63 6f 6c 6f 72 3d 5c 22 25 73 5c 22 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 font.color=\"%s\">".............
19520 20 20 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 74 6d 6c 69 ..........................(htmli
19540 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 6d 65 72 67 65 64 29 29 29 0a ze-fstruct-foreground.merged))).
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 28 61 6e 64 20 28 68 .........................(and.(h
19580 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 70 20 6d 65 72 67 65 64 29 20 20 20 20 tmlize-fstruct-boldp.merged)....
195a0 20 20 22 3c 62 3e 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 .."<b>")........................
195c0 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 ..(and.(htmlize-fstruct-italicp.
195e0 6d 65 72 67 65 64 29 20 20 20 20 22 3c 69 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 merged)...."<i>")...............
19600 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 ...........(and.(htmlize-fstruct
19620 2d 75 6e 64 65 72 6c 69 6e 65 70 20 6d 65 72 67 65 64 29 20 22 3c 75 3e 22 29 0a 20 20 20 20 20 -underlinep.merged)."<u>")......
19640 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 68 74 6d 6c 69 7a ....................(and.(htmliz
19660 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 20 6d 65 72 67 65 64 29 20 20 20 20 22 3c 73 e-fstruct-strikep.merged)...."<s
19680 74 72 69 6b 65 3e 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 trike>")).......................
196a0 20 20 28 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 ..(concat.......................
196c0 20 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 ...(and.(htmlize-fstruct-strikep
196e0 20 6d 65 72 67 65 64 29 20 20 20 20 22 3c 2f 73 74 72 69 6b 65 3e 22 29 0a 20 20 20 20 20 20 20 .merged)...."</strike>")........
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d ..................(and.(htmlize-
19720 66 73 74 72 75 63 74 2d 75 6e 64 65 72 6c 69 6e 65 70 20 6d 65 72 67 65 64 29 20 22 3c 2f 75 3e fstruct-underlinep.merged)."</u>
19740 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 28 61 6e 64 ")..........................(and
19760 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 6d 65 72 67 65 64 .(htmlize-fstruct-italicp.merged
19780 29 20 20 20 20 22 3c 2f 69 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...."</i>")....................
197a0 20 20 20 20 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 ......(and.(htmlize-fstruct-bold
197c0 70 20 6d 65 72 67 65 64 29 20 20 20 20 20 20 22 3c 2f 62 3e 22 29 0a 20 20 20 20 20 20 20 20 20 p.merged)......"</b>")..........
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 ................(and.(htmlize-fs
19800 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 6d 65 72 67 65 64 29 20 22 3c 2f 66 6f 6e 74 truct-foreground.merged)."</font
19820 3e 22 29 29 29 29 29 29 0a 20 20 20 20 28 70 72 69 6e 63 20 28 63 61 72 20 6d 61 72 6b 75 70 29 >")))))).....(princ.(car.markup)
19840 20 62 75 66 66 65 72 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 28 70 .buffer).....(lambda.().......(p
19860 72 69 6e 63 20 28 63 64 72 20 6d 61 72 6b 75 70 29 20 62 75 66 66 65 72 29 29 29 29 0a 0a 0c 0a rinc.(cdr.markup).buffer))))....
19880 3b 3b 3b 20 55 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 28 64 65 66 75 6e 20 68 ;;;.Utility.functions...(defun.h
198a0 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 20 28 29 0a 20 20 3b 3b 20 49 6e 74 65 72 6e 61 6c tmlize-buffer-1.()...;;.Internal
198c0 20 66 75 6e 63 74 69 6f 6e 3b 20 64 6f 6e 27 74 20 63 61 6c 6c 20 69 74 20 66 72 6f 6d 20 6f 75 .function;.don't.call.it.from.ou
198e0 74 73 69 64 65 20 74 68 69 73 20 66 69 6c 65 2e 20 20 48 74 6d 6c 69 7a 65 0a 20 20 3b 3b 20 63 tside.this.file...Htmlize...;;.c
19900 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 77 72 69 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c urrent.buffer,.writing.the.resul
19920 74 69 6e 67 20 48 54 4d 4c 20 74 6f 20 61 20 6e 65 77 20 62 75 66 66 65 72 2c 20 61 6e 64 0a 20 ting.HTML.to.a.new.buffer,.and..
19940 20 3b 3b 20 72 65 74 75 72 6e 20 69 74 2e 20 20 55 6e 6c 69 6b 65 20 68 74 6d 6c 69 7a 65 2d 62 .;;.return.it...Unlike.htmlize-b
19960 75 66 66 65 72 2c 20 74 68 69 73 20 64 6f 65 73 6e 27 74 20 63 68 61 6e 67 65 20 63 75 72 72 65 uffer,.this.doesn't.change.curre
19980 6e 74 0a 20 20 3b 3b 20 62 75 66 66 65 72 20 6f 72 20 75 73 65 20 73 77 69 74 63 68 2d 74 6f 2d nt...;;.buffer.or.use.switch-to-
199a0 62 75 66 66 65 72 2e 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 3b 3b buffer....(save-excursion.....;;
199c0 20 50 72 6f 74 65 63 74 20 61 67 61 69 6e 73 74 20 74 68 65 20 68 6f 6f 6b 20 63 68 61 6e 67 69 .Protect.against.the.hook.changi
199e0 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 28 73 61 76 65 ng.the.current.buffer......(save
19a00 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 68 74 6d -excursion.......(run-hooks.'htm
19a20 6c 69 7a 65 2d 62 65 66 6f 72 65 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 3b 3b 20 43 6f 6e 76 69 6e lize-before-hook)).....;;.Convin
19a40 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 20 73 75 70 70 6f 72 74 20 6d 6f 64 65 73 20 74 6f 20 66 6f ce.font-lock.support.modes.to.fo
19a60 6e 74 69 66 79 20 74 68 65 20 65 6e 74 69 72 65 20 62 75 66 66 65 72 0a 20 20 20 20 3b 3b 20 69 ntify.the.entire.buffer.....;;.i
19a80 6e 20 61 64 76 61 6e 63 65 2e 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 46 6f 6e 74 69 66 69 n.advance......(message."Fontifi
19aa0 6e 67 20 25 73 2e 2e 2e 22 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 ng.%s...".buffer-file-name).....
19ac0 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 (font-lock-ensure).....(message.
19ae0 22 46 6f 6e 74 69 66 69 6e 67 20 25 73 2e 2e 2e 64 6f 6e 65 22 20 62 75 66 66 65 72 2d 66 69 6c "Fontifing.%s...done".buffer-fil
19b00 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 48 74 6d 6c 69 7a 69 6e 67 20 e-name).....(message."Htmlizing.
19b20 25 73 2e 2e 2e 22 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 63 6c %s...".buffer-file-name).....(cl
19b40 72 68 61 73 68 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 rhash.htmlize-extended-character
19b60 2d 63 61 63 68 65 29 0a 20 20 20 20 28 63 6c 72 68 61 73 68 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d -cache).....(clrhash.htmlize-mem
19b80 6f 69 7a 61 74 69 6f 6e 2d 74 61 62 6c 65 29 0a 20 20 20 20 3b 3b 20 49 74 27 73 20 69 6d 70 6f oization-table).....;;.It's.impo
19ba0 72 74 61 6e 74 20 74 68 61 74 20 74 68 65 20 6e 65 77 20 62 75 66 66 65 72 20 69 6e 68 65 72 69 rtant.that.the.new.buffer.inheri
19bc0 74 73 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 3b 3b 20 66 72 6f 6d ts.default-directory.....;;.from
19be0 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 .the.current.buffer......(let.((
19c00 68 74 6d 6c 62 75 66 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 28 69 66 htmlbuf.(generate-new-buffer.(if
19c20 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(buffer-file-name).............
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19c60 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 (htmlize-make-file-name.........
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19ca0 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 0a 20 20 20 .....(file-name-nondirectory....
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19ce0 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a ...........(buffer-file-name))).
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19d20 20 20 20 20 20 20 20 20 20 20 22 2a 68 74 6d 6c 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .........."*html*")))...........
19d40 28 63 6f 6d 70 6c 65 74 65 64 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 (completed.nil)).......(unwind-p
19d60 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 65 72 2d rotect...........(let*.((buffer-
19d80 66 61 63 65 73 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 73 2d 69 6e 2d 62 75 66 66 65 72 29 29 faces.(htmlize-faces-in-buffer))
19da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 2d 6d 61 70 20 28 68 74 6d ..................(face-map.(htm
19dc0 6c 69 7a 65 2d 6d 61 6b 65 2d 66 61 63 65 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lize-make-face-map..............
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 64 6a 6f 69 6e 20 27 64 65 66 61 75 ...............(cl-adjoin.'defau
19e00 6c 74 20 62 75 66 66 65 72 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lt.buffer-faces)))..............
19e20 20 20 20 20 28 70 6c 61 63 65 73 20 28 67 65 6e 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 ....(places.(gensym))...........
19e40 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 69 66 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e .......(title.(if.(buffer-file-n
19e60 61 6d 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 ame)............................
19e80 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 62 75 66 66 65 72 .(file-name-nondirectory.(buffer
19ea0 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -file-name))....................
19ec0 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 .......(buffer-name)))).........
19ee0 20 20 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 6e 65 72 61 74 65 2d 68 79 70 65 72 ....(when.htmlize-generate-hyper
19f00 6c 69 6e 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 72 65 links...............(htmlize-cre
19f20 61 74 65 2d 61 75 74 6f 2d 6c 69 6e 6b 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 ate-auto-links)).............(wh
19f40 65 6e 20 68 74 6d 6c 69 7a 65 2d 72 65 70 6c 61 63 65 2d 66 6f 72 6d 2d 66 65 65 64 73 0a 20 20 en.htmlize-replace-form-feeds...
19f60 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 73 68 61 64 6f 77 2d 66 6f 72 6d ............(htmlize-shadow-form
19f80 2d 66 65 65 64 73 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 69 74 69 61 6c -feeds))..............;;.Initial
19fa0 69 7a 65 20 48 54 4d 4c 42 55 46 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 48 54 4d 4c 20 ize.HTMLBUF.and.insert.the.HTML.
19fc0 70 72 6f 6c 6f 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e prolog..............(with-curren
19fe0 74 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t-buffer.htmlbuf...............(
1a000 62 75 66 66 65 72 2d 64 69 73 61 62 6c 65 2d 75 6e 64 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 buffer-disable-undo)............
1a020 20 20 20 28 69 6e 73 65 72 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 64 6f 63 74 79 ...(insert.(htmlize-method.docty
1a040 70 65 29 20 3f 5c 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 pe).?\n.......................(f
1a060 6f 72 6d 61 74 20 22 3c 21 2d 2d 20 43 72 65 61 74 65 64 20 62 79 20 68 74 6d 6c 69 7a 65 2d 25 ormat."<!--.Created.by.htmlize-%
1a080 73 20 69 6e 20 25 73 20 6d 6f 64 65 2e 20 2d 2d 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 s.in.%s.mode..-->\n"............
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 69 7a 65 2d 76 65 72 73 69 ...................htmlize-versi
1a0c0 6f 6e 20 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 on.htmlize-output-type).........
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 68 74 6d 6c 3e 5c 6e 20 20 22 29 0a 20 20 20 20 .............."<html>\n..").....
1a100 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 68 65 61 64 2d 73 74 61 72 ..........(put.places.'head-star
1a120 74 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(point-marker))...............
1a140 28 69 6e 73 65 72 74 20 22 3c 68 65 61 64 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (insert."<head>\n"..............
1a160 20 20 20 20 20 20 20 20 20 22 20 20 20 20 3c 74 69 74 6c 65 3e 22 20 28 68 74 6d 6c 69 7a 65 2d ........."....<title>".(htmlize-
1a180 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 74 69 74 6c 65 29 20 22 3c 2f 74 69 74 6c 65 3e 5c protect-string.title)."</title>\
1a1a0 6e 22 0a 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 68 74 6d n".......................(if.htm
1a1c0 6c 69 7a 65 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lize-html-charset...............
1a1e0 20 20 20 20 20 20 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 ............(format.............
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 20 20 20 3c 6d 65 74 ...............(concat."....<met
1a220 61 20 68 74 74 70 2d 65 71 75 69 76 3d 5c 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 5c 22 20 22 0a a.http-equiv=\"Content-Type\".".
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a260 20 20 20 22 63 6f 6e 74 65 6e 74 3d 5c 22 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 ..."content=\"text/html;.charset
1a280 3d 25 73 5c 22 3e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =%s\">\n")......................
1a2a0 20 20 20 20 20 20 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 29 0a 20 20 20 20 ......htmlize-html-charset).....
1a2c0 20 20 20 20 20 20 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 ...................."").........
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 69 7a 65 2d 68 65 61 64 2d 74 61 67 73 29 ..............htmlize-head-tags)
1a300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 69 ...............(htmlize-method.i
1a320 6e 73 65 72 74 2d 68 65 61 64 20 62 75 66 66 65 72 2d 66 61 63 65 73 20 66 61 63 65 2d 6d 61 70 nsert-head.buffer-faces.face-map
1a340 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 3c 2f 68 65 61 )...............(insert."..</hea
1a360 64 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 d>")...............(put.places.'
1a380 68 65 61 64 2d 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 head-end.(point-marker))........
1a3a0 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 22 29 0a 20 20 20 20 20 20 20 20 20 .......(insert."\n..")..........
1a3c0 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 62 6f 64 79 2d 73 74 61 72 74 20 28 70 6f .....(put.places.'body-start.(po
1a3e0 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 int-marker))...............(inse
1a400 72 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 62 6f 64 79 2d 74 61 67 20 66 61 63 65 rt.(htmlize-method.body-tag.face
1a420 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 20 -map)......................."\n.
1a440 20 20 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 ...")...............(put.places.
1a460 27 63 6f 6e 74 65 6e 74 2d 73 74 61 72 74 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 'content-start.(point-marker))..
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 .............(insert.(htmlize-me
1a4a0 74 68 6f 64 20 70 72 65 2d 74 61 67 20 66 61 63 65 2d 6d 61 70 29 20 22 5c 6e 22 29 29 0a 20 20 thod.pre-tag.face-map)."\n"))...
1a4c0 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 65 78 74 2d 6d 61 72 6b 75 70 0a 20 20 20 ..........(let.((text-markup....
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 65 74 20 74 68 65 20 69 6e 73 65 72 ................;;.Get.the.inser
1a500 74 65 72 20 6d 65 74 68 6f 64 2c 20 73 6f 20 77 65 20 63 61 6e 20 66 75 6e 63 61 6c 6c 20 69 74 ter.method,.so.we.can.funcall.it
1a520 20 69 6e 73 69 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 .inside....................;;.th
1a540 65 20 6c 6f 6f 70 2e 20 20 4e 6f 74 20 63 61 6c 6c 69 6e 67 20 60 68 74 6d 6c 69 7a 65 2d 6d 65 e.loop...Not.calling.`htmlize-me
1a560 74 68 6f 64 27 20 69 6e 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 thod'.in.the.loop...............
1a580 20 20 20 20 20 3b 3b 20 62 6f 64 79 20 79 69 65 6c 64 73 20 61 20 6d 65 61 73 75 72 61 62 6c 65 .....;;.body.yields.a.measurable
1a5a0 20 73 70 65 65 64 20 69 6e 63 72 65 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .speed.increase.................
1a5c0 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 27 74 65 ....(htmlize-method-function.'te
1a5e0 78 74 2d 6d 61 72 6b 75 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b xt-markup))...................;;
1a600 20 44 65 63 6c 61 72 65 20 76 61 72 69 61 62 6c 65 73 20 75 73 65 64 20 69 6e 20 6c 6f 6f 70 20 .Declare.variables.used.in.loop.
1a620 62 6f 64 79 20 6f 75 74 73 69 64 65 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 body.outside.the.loop...........
1a640 20 20 20 20 20 20 20 20 3b 3b 20 62 65 63 61 75 73 65 20 69 74 27 73 20 66 61 73 74 65 72 20 74 ........;;.because.it's.faster.t
1a660 6f 20 65 73 74 61 62 6c 69 73 68 20 60 6c 65 74 27 20 62 69 6e 64 69 6e 67 73 20 6f 6e 6c 79 0a o.establish.`let'.bindings.only.
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 6e 63 65 2e 0a 20 20 20 20 20 ..................;;.once.......
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 74 65 78 74 20 66 61 .............next-change.text.fa
1a6c0 63 65 2d 6c 69 73 74 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 0a 20 20 20 20 20 20 ce-list.trailing-ellipsis.......
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 66 73 74 72 75 63 74 2d 6c 69 73 74 20 6c 61 73 74 2d 66 73 ............fstruct-list.last-fs
1a700 74 72 75 63 74 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c truct-list...................(cl
1a720 6f 73 65 2d 6d 61 72 6b 75 70 20 28 6c 61 6d 62 64 61 20 28 29 29 29 29 0a 20 20 20 20 20 20 20 ose-markup.(lambda.())))........
1a740 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 6c 6f 6f 70 20 74 72 61 76 65 72 73 65 73 20 61 6e .......;;.This.loop.traverses.an
1a760 64 20 72 65 61 64 73 20 74 68 65 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 2c 20 61 70 70 65 6e d.reads.the.source.buffer,.appen
1a780 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 72 65 73 75 6c 74 ding...............;;.the.result
1a7a0 69 6e 67 20 48 54 4d 4c 20 74 6f 20 48 54 4d 4c 42 55 46 2e 20 20 54 68 69 73 20 6d 65 74 68 6f ing.HTML.to.HTMLBUF...This.metho
1a7c0 64 20 69 73 20 66 61 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 63 61 75 d.is.fast...............;;.becau
1a7e0 73 65 3a 20 31 29 20 69 74 20 64 6f 65 73 6e 27 74 20 72 65 71 75 69 72 65 20 65 78 61 6d 69 6e se:.1).it.doesn't.require.examin
1a800 69 6e 67 20 74 68 65 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 72 ing.the.text...............;;.pr
1a820 6f 70 65 72 74 69 65 73 20 63 68 61 72 20 62 79 20 63 68 61 72 20 28 68 74 6d 6c 69 7a 65 2d 6e operties.char.by.char.(htmlize-n
1a840 65 78 74 2d 66 61 63 65 2d 63 68 61 6e 67 65 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 ext-face-change.is.used.........
1a860 20 20 20 20 20 20 3b 3b 20 74 6f 20 6d 6f 76 65 20 62 65 74 77 65 65 6e 20 72 75 6e 73 20 77 69 ......;;.to.move.between.runs.wi
1a880 74 68 20 74 68 65 20 73 61 6d 65 20 66 61 63 65 29 2c 20 61 6e 64 20 32 29 20 69 74 20 64 6f 65 th.the.same.face),.and.2).it.doe
1a8a0 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 71 75 69 72 65 20 66 72 sn't...............;;.require.fr
1a8c0 65 71 75 65 6e 74 20 62 75 66 66 65 72 20 73 77 69 74 63 68 65 73 2c 20 77 68 69 63 68 20 61 72 equent.buffer.switches,.which.ar
1a8e0 65 20 73 6c 6f 77 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 e.slow.because...............;;.
1a900 74 68 65 79 20 72 65 62 69 6e 64 20 61 6c 6c 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 they.rebind.all.buffer-local.var
1a920 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 s................(goto-char.(poi
1a940 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e nt-min))...............(while.(n
1a960 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 ot.(eobp)).................(setq
1a980 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 66 61 63 65 2d .next-change.(htmlize-next-face-
1a9a0 63 68 61 6e 67 65 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 change.(point)))................
1a9c0 20 3b 3b 20 47 65 74 20 66 61 63 65 73 20 69 6e 20 75 73 65 20 62 65 74 77 65 65 6e 20 28 70 6f .;;.Get.faces.in.use.between.(po
1a9e0 69 6e 74 29 20 61 6e 64 20 4e 45 58 54 2d 43 48 41 4e 47 45 2c 20 61 6e 64 0a 20 20 20 20 20 20 int).and.NEXT-CHANGE,.and.......
1aa00 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 6e 76 65 72 74 20 74 68 65 6d 20 74 6f 20 66 73 74 ..........;;.convert.them.to.fst
1aa20 72 75 63 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 ructs..................(setq.fac
1aa40 65 2d 6c 69 73 74 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 73 2d 61 74 2d 70 6f 69 6e 74 29 0a e-list.(htmlize-faces-at-point).
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 73 74 72 75 63 74 2d 6c 69 ......................fstruct-li
1aa80 73 74 20 28 64 65 6c 71 20 6e 69 6c 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 29 st.(delq.nil.(mapcar.(lambda.(f)
1aaa0 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 ................................
1aac0 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 65 74 68 61 73 68 ........................(gethash
1aae0 20 66 20 66 61 63 65 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .f.face-map))...................
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ab20 20 20 20 66 61 63 65 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...face-list))).................
1ab40 28 63 6c 2d 6d 75 6c 74 69 70 6c 65 2d 76 61 6c 75 65 2d 73 65 74 71 20 28 74 65 78 74 20 74 72 (cl-multiple-value-setq.(text.tr
1ab60 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ailing-ellipsis)................
1ab80 20 20 20 28 68 74 6d 6c 69 7a 65 2d 65 78 74 72 61 63 74 2d 74 65 78 74 20 28 70 6f 69 6e 74 29 ...(htmlize-extract-text.(point)
1aba0 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 29 29 .next-change.trailing-ellipsis))
1abc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 62 6f 74 68 65 72 .................;;.Don't.bother
1abe0 20 77 72 69 74 69 6e 67 20 61 6e 79 74 68 69 6e 67 20 69 66 20 74 68 65 72 65 27 73 20 6e 6f 20 .writing.anything.if.there's.no.
1ac00 74 65 78 74 20 28 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 68 61 text.(this.................;;.ha
1ac20 70 70 65 6e 73 20 69 6e 20 69 6e 76 69 73 69 62 6c 65 20 72 65 67 69 6f 6e 73 29 2e 0a 20 20 20 ppens.in.invisible.regions).....
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 28 6c 65 6e 67 74 68 20 74 65 .............(when.(>.(length.te
1ac60 78 74 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 70 65 6e xt).0)...................;;.Open
1ac80 20 74 68 65 20 6e 65 77 20 6d 61 72 6b 75 70 20 69 66 20 6e 65 63 65 73 73 61 72 79 20 61 6e 64 .the.new.markup.if.necessary.and
1aca0 20 69 6e 73 65 72 74 20 74 68 65 20 74 65 78 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .insert.the.text................
1acc0 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 63 6c 2d 65 71 75 61 6c 70 20 66 73 74 72 75 63 ....(when.(not.(cl-equalp.fstruc
1ace0 74 2d 6c 69 73 74 20 6c 61 73 74 2d 66 73 74 72 75 63 74 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 t-list.last-fstruct-list))......
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 6c 6f 73 65 2d 6d 61 ...............(funcall.close-ma
1ad20 72 6b 75 70 29 0a 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 rkup).....................(setq.
1ad40 6c 61 73 74 2d 66 73 74 72 75 63 74 2d 6c 69 73 74 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 0a last-fstruct-list.fstruct-list).
1ad60 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 6c 6f 73 65 2d ....................(setq.close-
1ad80 6d 61 72 6b 75 70 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 markup..........................
1ada0 20 28 66 75 6e 63 61 6c 6c 20 74 65 78 74 2d 6d 61 72 6b 75 70 20 66 73 74 72 75 63 74 2d 6c 69 .(funcall.text-markup.fstruct-li
1adc0 73 74 20 68 74 6d 6c 62 75 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.htmlbuf)))...................
1ade0 28 70 72 69 6e 63 20 74 65 78 74 20 68 74 6d 6c 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 (princ.text.htmlbuf))...........
1ae00 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 29 0a 0a ......(goto-char.next-change))..
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 27 76 65 20 67 6f 6e 65 20 74 68 72 6f ..............;;.We've.gone.thro
1ae40 75 67 68 20 74 68 65 20 62 75 66 66 65 72 3b 20 63 6c 6f 73 65 20 74 68 65 20 6d 61 72 6b 75 70 ugh.the.buffer;.close.the.markup
1ae60 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 6c 61 73 74 20 .from...............;;.the.last.
1ae80 72 75 6e 2c 20 69 66 20 61 6e 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 run,.if.any................(func
1aea0 61 6c 6c 20 63 6c 6f 73 65 2d 6d 61 72 6b 75 70 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 all.close-markup))..............
1aec0 3b 3b 20 49 6e 73 65 72 74 20 74 68 65 20 65 70 69 6c 6f 67 20 61 6e 64 20 70 6f 73 74 2d 70 72 ;;.Insert.the.epilog.and.post-pr
1aee0 6f 63 65 73 73 20 74 68 65 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ocess.the.buffer..............(w
1af00 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 0a 20 20 20 20 20 ith-current-buffer.htmlbuf......
1af20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3c 2f 70 72 65 3e 22 29 0a 20 20 20 20 20 .........(insert."</pre>")......
1af40 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 63 6f 6e 74 65 6e 74 2d 65 6e .........(put.places.'content-en
1af60 64 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.(point-marker))...............
1af80 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 3c 2f 62 6f 64 79 3e 22 29 0a 20 20 20 20 20 20 20 20 20 (insert."\n..</body>")..........
1afa0 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 62 6f 64 79 2d 65 6e 64 20 28 70 6f 69 6e .....(put.places.'body-end.(poin
1afc0 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 t-marker))...............(insert
1afe0 20 22 5c 6e 3c 2f 68 74 6d 6c 3e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 ."\n</html>\n")...............(h
1b000 74 6d 6c 69 7a 65 2d 64 65 66 61 6e 67 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 29 0a 20 tmlize-defang-local-variables)..
1b020 20 20 20 20 20 20 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 .............(goto-char.(point-m
1b040 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 in))...............(when.htmlize
1b060 2d 68 74 6d 6c 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -html-major-mode................
1b080 20 3b 3b 20 57 68 61 74 20 73 75 63 6b 73 20 61 62 6f 75 74 20 74 68 69 73 20 69 73 20 74 68 61 .;;.What.sucks.about.this.is.tha
1b0a0 74 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 2c 20 6d 6f 73 74 20 6e 6f 74 61 62 6c 79 0a t.the.minor.modes,.most.notably.
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 ................;;.font-lock-mod
1b0e0 65 2c 20 77 6f 6e 27 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 20 4f 68 20 77 65 6c e,.won't.be.initialized...Oh.wel
1b100 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 68 74 6d 6c l..................(funcall.html
1b120 69 7a 65 2d 68 74 6d 6c 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 ize-html-major-mode))...........
1b140 20 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 68 ....(set.(make-local-variable.'h
1b160 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 70 6c 61 63 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 tmlize-buffer-places)...........
1b180 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d 70 6c 69 73 74 20 70 6c 61 63 65 73 29 29 0a .........(symbol-plist.places)).
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 68 74 6d 6c 69 7a ..............(run-hooks.'htmliz
1b1c0 65 2d 61 66 74 65 72 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 e-after-hook)...............(buf
1b1e0 66 65 72 2d 65 6e 61 62 6c 65 2d 75 6e 64 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 fer-enable-undo)).............(s
1b200 65 74 71 20 63 6f 6d 70 6c 65 74 65 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d etq.completed.t).............htm
1b220 6c 62 75 66 29 0a 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 6f 6d 70 6c 65 74 65 64 0a 20 20 20 lbuf)..........(if.completed....
1b240 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 48 74 6d 6c 69 7a 69 6e 67 20 25 73 2e .........(message."Htmlizing.%s.
1b260 2e 2e 64 6f 6e 65 22 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 ..done".buffer-file-name).......
1b280 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 29 0a 20 20 20 20 20 20 ....(kill-buffer.htmlbuf).......
1b2a0 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 48 74 6d 6c 69 7a 69 6e 67 20 25 73 2e 2e 2e 66 61 69 ....(message."Htmlizing.%s...fai
1b2c0 6c 65 64 22 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 led".buffer-file-name)).........
1b2e0 28 68 74 6d 6c 69 7a 65 2d 64 65 6c 65 74 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 73 29 29 29 29 (htmlize-delete-tmp-overlays))))
1b300 29 0a 0a 0c 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 )....;;;###autoload.(defun.htmli
1b320 7a 65 2d 62 75 66 66 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 20 69 6e 74 65 ze-buffer.(&optional.buffer.inte
1b340 72 61 63 74 69 76 65 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 42 55 46 46 45 52 20 74 6f 20 48 54 ractive)..."Convert.BUFFER.to.HT
1b360 4d 4c 2c 20 70 72 65 73 65 72 76 69 6e 67 20 63 6f 6c 6f 72 73 20 61 6e 64 20 64 65 63 6f 72 61 ML,.preserving.colors.and.decora
1b380 74 69 6f 6e 73 2e 0a 0a 54 68 65 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 20 69 73 20 61 76 tions...The.generated.HTML.is.av
1b3a0 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 2c 20 77 68 69 63 68 20 69 ailable.in.a.new.buffer,.which.i
1b3c0 73 20 72 65 74 75 72 6e 65 64 2e 0a 57 68 65 6e 20 69 6e 76 6f 6b 65 64 20 69 6e 74 65 72 61 63 s.returned..When.invoked.interac
1b3e0 74 69 76 65 6c 79 20 28 6f 72 20 69 66 20 6f 70 74 69 6f 6e 61 6c 20 49 4e 54 45 52 41 43 54 49 tively.(or.if.optional.INTERACTI
1b400 56 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 29 2c 0a 74 68 65 20 6e 65 77 20 62 75 66 66 65 72 20 69 VE.is.non-nil),.the.new.buffer.i
1b420 73 20 73 65 6c 65 63 74 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 s.selected.in.the.current.window
1b440 2e 20 20 54 68 65 20 74 69 74 6c 65 20 6f 66 20 74 68 65 0a 67 65 6e 65 72 61 74 65 64 20 64 6f ...The.title.of.the.generated.do
1b460 63 75 6d 65 6e 74 20 77 69 6c 6c 20 62 65 20 73 65 74 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 cument.will.be.set.to.the.buffer
1b480 27 73 20 66 69 6c 65 20 6e 61 6d 65 20 6f 72 2c 20 69 66 20 74 68 61 74 0a 69 73 20 6e 6f 74 20 's.file.name.or,.if.that.is.not.
1b4a0 61 76 61 69 6c 61 62 6c 65 2c 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 27 73 20 6e 61 6d 65 2e available,.to.the.buffer's.name.
1b4c0 0a 0a 4e 6f 74 65 20 74 68 61 74 20 68 74 6d 6c 69 7a 65 20 64 6f 65 73 6e 27 74 20 66 6f 6e 74 ..Note.that.htmlize.doesn't.font
1b4e0 69 66 79 20 79 6f 75 72 20 62 75 66 66 65 72 73 2c 20 69 74 20 6f 6e 6c 79 20 75 73 65 73 20 74 ify.your.buffers,.it.only.uses.t
1b500 68 65 0a 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 6c 72 65 61 64 79 20 he.decorations.that.are.already.
1b520 70 72 65 73 65 6e 74 2e 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 73 65 74 20 75 70 20 66 6f present...If.you.don't.set.up.fo
1b540 6e 74 2d 6c 6f 63 6b 20 6f 72 0a 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 20 74 6f 20 66 6f 6e nt-lock.or.something.else.to.fon
1b560 74 69 66 79 20 79 6f 75 72 20 62 75 66 66 65 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 tify.your.buffers,.the.resulting
1b580 20 48 54 4d 4c 20 77 69 6c 6c 20 62 65 0a 70 6c 61 69 6e 2e 20 20 4c 69 6b 65 77 69 73 65 2c 20 .HTML.will.be.plain...Likewise,.
1b5a0 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 6c 69 6b 65 20 74 68 65 20 63 68 6f 69 63 65 20 6f 66 20 if.you.don't.like.the.choice.of.
1b5c0 63 6f 6c 6f 72 73 2c 20 66 69 78 20 74 68 65 20 6d 6f 64 65 0a 74 68 61 74 20 63 72 65 61 74 65 colors,.fix.the.mode.that.create
1b5e0 64 20 74 68 65 6d 2c 20 6f 72 20 73 69 6d 70 6c 79 20 61 6c 74 65 72 20 74 68 65 20 66 61 63 65 d.them,.or.simply.alter.the.face
1b600 73 20 69 74 20 75 73 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 69 5c 6e 70 s.it.uses."...(interactive."i\np
1b620 22 29 0a 20 20 28 6c 65 74 20 28 28 68 74 6d 6c 62 75 66 20 28 77 69 74 68 2d 63 75 72 72 65 6e ")...(let.((htmlbuf.(with-curren
1b640 74 2d 62 75 66 66 65 72 20 28 6f 72 20 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 t-buffer.(or.buffer.(current-buf
1b660 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a fer))....................(htmliz
1b680 65 2d 62 75 66 66 65 72 2d 31 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 69 6e 74 65 72 61 63 e-buffer-1)))).....(when.interac
1b6a0 74 69 76 65 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 68 74 6d tive.......(switch-to-buffer.htm
1b6c0 6c 62 75 66 29 29 0a 20 20 20 20 68 74 6d 6c 62 75 66 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f lbuf)).....htmlbuf))..;;;###auto
1b6e0 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 20 28 62 65 67 20 load.(defun.htmlize-region.(beg.
1b700 65 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 22 43 6f end.&optional.interactive)..."Co
1b720 6e 76 65 72 74 20 74 68 65 20 72 65 67 69 6f 6e 20 74 6f 20 48 54 4d 4c 2c 20 70 72 65 73 65 72 nvert.the.region.to.HTML,.preser
1b740 76 69 6e 67 20 63 6f 6c 6f 72 73 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 2e 0a 53 65 65 ving.colors.and.decorations..See
1b760 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 22 0a .`htmlize-buffer'.for.details.".
1b780 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 72 5c 6e 70 22 29 0a 20 20 3b 3b 20 44 6f 6e 27 ..(interactive."r\np")...;;.Don'
1b7a0 74 20 6c 65 74 20 7a 6d 61 63 73 20 72 65 67 69 6f 6e 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 t.let.zmacs.region.highlighting.
1b7c0 65 6e 64 20 75 70 20 69 6e 20 48 54 4d 4c 2e 0a 20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 end.up.in.HTML....(when.(fboundp
1b7e0 20 27 7a 6d 61 63 73 2d 64 65 61 63 74 69 76 61 74 65 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 28 .'zmacs-deactivate-region).....(
1b800 7a 6d 61 63 73 2d 64 65 61 63 74 69 76 61 74 65 2d 72 65 67 69 6f 6e 29 29 0a 20 20 28 6c 65 74 zmacs-deactivate-region))...(let
1b820 20 28 28 68 74 6d 6c 62 75 66 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 .((htmlbuf.(save-restriction....
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f ................(narrow-to-regio
1b860 6e 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 20 20 20 28 68 n.beg.end)....................(h
1b880 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 69 6e tmlize-buffer-1)))).....(when.in
1b8a0 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 teractive.......(switch-to-buffe
1b8c0 72 20 68 74 6d 6c 62 75 66 29 29 0a 20 20 20 20 68 74 6d 6c 62 75 66 29 29 0a 0a 28 64 65 66 75 r.htmlbuf)).....htmlbuf))..(defu
1b8e0 6e 20 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 2d 66 6f 72 2d 70 61 73 74 65 20 28 62 65 67 20 n.htmlize-region-for-paste.(beg.
1b900 65 6e 64 29 0a 20 20 22 48 74 6d 6c 69 7a 65 20 74 68 65 20 72 65 67 69 6f 6e 20 61 6e 64 20 72 end)..."Htmlize.the.region.and.r
1b920 65 74 75 72 6e 20 6a 75 73 74 20 74 68 65 20 48 54 4d 4c 20 61 73 20 61 20 73 74 72 69 6e 67 2e eturn.just.the.HTML.as.a.string.
1b940 0a 54 68 69 73 20 66 6f 72 63 65 73 20 74 68 65 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 73 74 .This.forces.the.`inline-css'.st
1b960 79 6c 65 20 61 6e 64 20 6f 6e 6c 79 20 72 65 74 75 72 6e 73 20 74 68 65 20 48 54 4d 4c 20 62 6f yle.and.only.returns.the.HTML.bo
1b980 64 79 2c 0a 62 75 74 20 77 69 74 68 6f 75 74 20 74 68 65 20 42 4f 44 59 20 74 61 67 2e 20 20 54 dy,.but.without.the.BODY.tag...T
1b9a0 68 69 73 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 69 74 20 75 73 65 66 75 6c 20 66 6f 72 20 69 6e his.should.make.it.useful.for.in
1b9c0 73 65 72 74 69 6e 67 0a 74 68 65 20 74 65 78 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 48 54 4d 4c serting.the.text.to.another.HTML
1b9e0 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 .buffer."...(let*.((htmlize-outp
1ba00 75 74 2d 74 79 70 65 20 27 69 6e 6c 69 6e 65 2d 63 73 73 29 0a 20 20 20 20 20 20 20 20 20 28 68 ut-type.'inline-css)..........(h
1ba20 74 6d 6c 62 75 66 20 28 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 29 tmlbuf.(htmlize-region.beg.end))
1ba40 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 28 77 ).....(unwind-protect.........(w
1ba60 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 0a 20 20 20 20 20 ith-current-buffer.htmlbuf......
1ba80 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6c 69 73 74 2d 67 65 .....(buffer-substring.(plist-ge
1baa0 74 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 70 6c 61 63 65 73 20 27 63 6f 6e 74 65 6e 74 t.htmlize-buffer-places.'content
1bac0 2d 73 74 61 72 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 -start).........................
1bae0 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 70 6c ....(plist-get.htmlize-buffer-pl
1bb00 61 63 65 73 20 27 63 6f 6e 74 65 6e 74 2d 65 6e 64 29 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c aces.'content-end))).......(kill
1bb20 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c -buffer.htmlbuf))))..(defun.html
1bb40 69 7a 65 2d 72 65 67 69 6f 6e 2d 73 61 76 65 2d 73 63 72 65 65 6e 73 68 6f 74 20 28 62 65 67 20 ize-region-save-screenshot.(beg.
1bb60 65 6e 64 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 68 74 6d 6c 69 7a 65 64 20 28 73 65 65 20 60 end)..."Save.the.htmlized.(see.`
1bb80 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 2d 66 6f 72 2d 70 61 73 74 65 27 29 20 72 65 67 69 6f htmlize-region-for-paste').regio
1bba0 6e 20 69 6e 0a 74 68 65 20 6b 69 6c 6c 20 72 69 6e 67 2e 20 55 73 65 73 20 60 69 6e 6c 69 6e 65 n.in.the.kill.ring..Uses.`inline
1bbc0 2d 63 73 73 27 2c 20 77 69 74 68 20 73 74 79 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e -css',.with.style.information.in
1bbe0 0a 60 3c 70 72 65 3e 27 20 74 61 67 73 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 72 65 6e 64 65 .`<pre>'.tags,.so.that.the.rende
1bc00 72 69 6e 67 20 6f 66 20 74 68 65 20 6d 61 72 6b 65 64 20 75 70 20 74 65 78 74 0a 61 70 70 72 6f ring.of.the.marked.up.text.appro
1bc20 78 69 6d 61 74 65 73 20 74 68 65 20 62 75 66 66 65 72 20 61 73 20 63 6c 6f 73 65 6c 79 20 61 73 ximates.the.buffer.as.closely.as
1bc40 20 70 6f 73 73 69 62 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 72 22 29 0a .possible."...(interactive."r").
1bc60 20 20 28 6c 65 74 20 28 28 68 74 6d 6c 69 7a 65 2d 70 72 65 2d 73 74 79 6c 65 20 74 29 29 0a 20 ..(let.((htmlize-pre-style.t))..
1bc80 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 28 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 2d 66 6f 72 ...(kill-new.(htmlize-region-for
1bca0 2d 70 61 73 74 65 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 28 64 65 61 63 74 69 76 61 74 65 2d -paste.beg.end)))...(deactivate-
1bcc0 6d 61 72 6b 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 69 6c 65 mark))..(defun.htmlize-make-file
1bce0 2d 6e 61 6d 65 20 28 66 69 6c 65 29 0a 20 20 22 4d 61 6b 65 20 61 6e 20 48 54 4d 4c 20 66 69 6c -name.(file)..."Make.an.HTML.fil
1bd00 65 20 6e 61 6d 65 20 66 72 6f 6d 20 46 49 4c 45 2e 0a 0a 49 6e 20 69 74 73 20 64 65 66 61 75 6c e.name.from.FILE...In.its.defaul
1bd20 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 74 68 69 73 20 73 69 6d 70 6c 79 20 61 70 t.implementation,.this.simply.ap
1bd40 70 65 6e 64 73 20 60 2e 68 74 6d 6c 27 20 74 6f 20 46 49 4c 45 2e 0a 54 68 69 73 20 66 75 6e 63 pends.`.html'.to.FILE..This.func
1bd60 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 68 74 6d 6c 69 7a 65 20 74 6f 20 63 72 65 tion.is.called.by.htmlize.to.cre
1bd80 61 74 65 20 74 68 65 20 62 75 66 66 65 72 20 66 69 6c 65 20 6e 61 6d 65 2c 20 61 6e 64 0a 62 79 ate.the.buffer.file.name,.and.by
1bda0 20 60 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 27 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 74 61 .`htmlize-file'.to.create.the.ta
1bdc0 72 67 65 74 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 0a 4d 6f 72 65 20 65 6c 61 62 6f 72 61 74 65 20 rget.file.name...More.elaborate.
1bde0 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 61 72 65 20 63 6f 6e 63 65 69 76 61 62 6c 65 2c transformations.are.conceivable,
1be00 20 73 75 63 68 20 61 73 20 63 68 61 6e 67 69 6e 67 20 46 49 4c 45 27 73 0a 65 78 74 65 6e 73 69 .such.as.changing.FILE's.extensi
1be20 6f 6e 20 74 6f 20 60 2e 68 74 6d 6c 27 20 28 5c 22 66 69 6c 65 2e 63 5c 22 20 2d 3e 20 5c 22 66 on.to.`.html'.(\"file.c\".->.\"f
1be40 69 6c 65 2e 68 74 6d 6c 5c 22 29 2e 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 68 65 6d 2c 0a ile.html\")...If.you.want.them,.
1be60 6f 76 65 72 6c 6f 61 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 64 6f 20 69 74 20 overload.this.function.to.do.it.
1be80 61 6e 64 20 68 74 6d 6c 69 7a 65 20 77 69 6c 6c 20 63 6f 6d 70 6c 79 2e 22 0a 20 20 28 63 6f 6e and.htmlize.will.comply."...(con
1bea0 63 61 74 20 66 69 6c 65 20 22 2e 68 74 6d 6c 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f cat.file.".html"))..;;;###autolo
1bec0 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 20 28 66 69 6c 65 20 26 6f 70 ad.(defun.htmlize-file.(file.&op
1bee0 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 29 0a 20 20 22 4c 6f 61 64 20 46 49 4c 45 2c 20 66 6f 6e tional.target)..."Load.FILE,.fon
1bf00 74 69 66 79 20 69 74 2c 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 48 54 4d 4c 2c 20 61 6e 64 tify.it,.convert.it.to.HTML,.and
1bf20 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6e 74 65 6e 74 73 20 6f 66 20 46 .save.the.result...Contents.of.F
1bf40 49 4c 45 20 61 72 65 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 61 20 74 65 6d 70 6f 72 61 72 ILE.are.inserted.into.a.temporar
1bf60 79 20 62 75 66 66 65 72 2c 20 77 68 6f 73 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 0a 69 73 20 73 65 y.buffer,.whose.major.mode.is.se
1bf80 74 20 77 69 74 68 20 60 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 27 20 61 73 20 61 70 70 72 6f 70 72 69 t.with.`normal-mode'.as.appropri
1bfa0 61 74 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 2e 20 20 54 68 65 20 62 75 66 66 ate.for.the.file.type...The.buff
1bfc0 65 72 0a 69 73 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 66 6f 6e 74 69 66 69 65 64 20 77 69 74 er.is.subsequently.fontified.wit
1bfe0 68 20 60 66 6f 6e 74 2d 6c 6f 63 6b 27 20 61 6e 64 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 48 h.`font-lock'.and.converted.to.H
1c000 54 4d 4c 2e 20 20 4e 6f 74 65 0a 74 68 61 74 2c 20 75 6e 6c 69 6b 65 20 60 68 74 6d 6c 69 7a 65 TML...Note.that,.unlike.`htmlize
1c020 2d 62 75 66 66 65 72 27 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6c 69 63 69 74 -buffer',.this.function.explicit
1c040 6c 79 20 74 75 72 6e 73 20 6f 6e 0a 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 20 49 66 20 61 20 66 6f 72 ly.turns.on.font-lock...If.a.for
1c060 6d 20 6f 66 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 66 6f 6e m.of.highlighting.other.than.fon
1c080 74 2d 6c 6f 63 6b 20 69 73 20 64 65 73 69 72 65 64 2c 0a 70 6c 65 61 73 65 20 75 73 65 20 60 68 t-lock.is.desired,.please.use.`h
1c0a0 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 62 75 66 66 65 tmlize-buffer'.directly.on.buffe
1c0c0 72 73 20 73 6f 20 68 69 67 68 6c 69 67 68 74 65 64 2e 0a 0a 42 75 66 66 65 72 73 20 63 75 72 72 rs.so.highlighted...Buffers.curr
1c0e0 65 6e 74 6c 79 20 76 69 73 69 74 69 6e 67 20 46 49 4c 45 20 61 72 65 20 75 6e 61 66 66 65 63 74 ently.visiting.FILE.are.unaffect
1c100 65 64 20 62 79 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 0a 66 75 6e 63 74 69 ed.by.this.function...The.functi
1c120 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 on.does.not.change.current.buffe
1c140 72 20 6f 72 20 6d 6f 76 65 20 74 68 65 20 70 6f 69 6e 74 2e 0a 0a 49 66 20 54 41 52 47 45 54 20 r.or.move.the.point...If.TARGET.
1c160 69 73 20 73 70 65 63 69 66 69 65 64 20 61 6e 64 20 6e 61 6d 65 73 20 61 20 64 69 72 65 63 74 6f is.specified.and.names.a.directo
1c180 72 79 2c 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 0a 73 ry,.the.resulting.file.will.be.s
1c1a0 61 76 65 64 20 74 68 65 72 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f 20 46 49 4c 45 27 73 20 aved.there.instead.of.to.FILE's.
1c1c0 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 54 41 52 47 45 54 20 69 73 20 73 70 65 63 69 66 69 directory...If.TARGET.is.specifi
1c1e0 65 64 20 61 6e 64 0a 64 6f 65 73 20 6e 6f 74 20 6e 61 6d 65 20 61 20 64 69 72 65 63 74 6f 72 79 ed.and.does.not.name.a.directory
1c200 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 6f 75 74 70 75 74 20 66 69 6c 65 ,.it.will.be.used.as.output.file
1c220 20 6e 61 6d 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 72 65 .name."...(interactive.(list.(re
1c240 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ad-file-name....................
1c260 20 20 20 22 48 54 4d 4c 2d 69 7a 65 20 66 69 6c 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 ..."HTML-ize.file:."............
1c280 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 28 61 6e 64 20 28 62 75 66 ...........nil.nil.nil.(and.(buf
1c2a0 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fer-file-name)..................
1c2c0 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 2d 6e 61 6d 65 ......................(file-name
1c2e0 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -nondirectory...................
1c300 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 65 72 2d 66 69 ......................(buffer-fi
1c320 6c 65 2d 6e 61 6d 65 29 29 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6f 75 74 70 75 74 2d 66 69 le-name))))))...(let.((output-fi
1c340 6c 65 20 28 69 66 20 28 61 6e 64 20 74 61 72 67 65 74 20 28 6e 6f 74 20 28 66 69 6c 65 2d 64 69 le.(if.(and.target.(not.(file-di
1c360 72 65 63 74 6f 72 79 2d 70 20 74 61 72 67 65 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rectory-p.target))).............
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............target.............
1c3a0 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 20 ...........(expand-file-name....
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 .....................(htmlize-ma
1c3e0 6b 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 ke-file-name.(file-name-nondirec
1c400 74 6f 72 79 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 tory.file)).....................
1c420 20 20 20 20 28 6f 72 20 74 61 72 67 65 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 ....(or.target.(file-name-direct
1c440 6f 72 79 20 66 69 6c 65 29 29 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 ory.file)))))).....(with-temp-bu
1c460 66 66 65 72 0a 20 20 20 20 20 20 3b 3b 20 49 6e 73 65 72 74 20 46 49 4c 45 20 69 6e 74 6f 20 74 ffer.......;;.Insert.FILE.into.t
1c480 68 65 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 28 69 6e 73 65 he.temporary.buffer........(inse
1c4a0 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 3b 3b 20 rt-file-contents.file).......;;.
1c4c0 53 65 74 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 73 6f 20 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 Set.the.file.name.so.normal-mode
1c4e0 20 61 6e 64 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 20 70 69 63 6b 20 69 74 0a 20 20 .and.htmlize-buffer-1.pick.it...
1c500 20 20 20 20 3b 3b 20 75 70 2e 20 20 52 65 73 74 6f 72 65 20 69 74 20 61 66 74 65 72 77 61 72 64 ....;;.up...Restore.it.afterward
1c520 73 20 73 6f 20 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 27 73 20 6b 69 6c 6c 2d 62 75 66 s.so.with-temp-buffer's.kill-buf
1c540 66 65 72 0a 20 20 20 20 20 20 3b 3b 20 64 6f 65 73 6e 27 74 20 63 6f 6d 70 6c 61 69 6e 20 61 62 fer.......;;.doesn't.complain.ab
1c560 6f 75 74 20 6b 69 6c 6c 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 62 75 66 66 65 72 2e 0a 20 out.killing.a.modified.buffer...
1c580 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c .....(let.((buffer-file-name.fil
1c5a0 65 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 65 74 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 e)).........;;.Set.the.major.mod
1c5c0 65 20 66 6f 72 20 74 68 65 20 73 61 6b 65 20 6f 66 20 66 6f 6e 74 2d 6c 6f 63 6b 2e 0a 20 20 20 e.for.the.sake.of.font-lock.....
1c5e0 20 20 20 20 20 28 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 68 74 .....(normal-mode).........;;.ht
1c600 6d 6c 69 7a 65 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 48 54 mlize.the.buffer.and.save.the.HT
1c620 4d 4c 2e 0a 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 65 72 ML..........(with-current-buffer
1c640 20 28 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 .(htmlize-buffer-1)...........(u
1c660 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f nwind-protect...............(pro
1c680 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 68 gn.................(run-hooks.'h
1c6a0 74 6d 6c 69 7a 65 2d 66 69 6c 65 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tmlize-file-hook)...............
1c6c0 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 ..(write-region.(point-min).(poi
1c6e0 6e 74 2d 6d 61 78 29 20 6f 75 74 70 75 74 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 nt-max).output-file))...........
1c700 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 ..(kill-buffer.(current-buffer))
1c720 29 29 29 29 29 0a 20 20 3b 3b 20 49 20 68 61 76 65 6e 27 74 20 64 65 63 69 64 65 64 20 6f 6e 20 )))))...;;.I.haven't.decided.on.
1c740 61 20 75 73 65 66 75 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 79 65 74 2c 20 73 6f 20 6a 75 a.useful.return.value.yet,.so.ju
1c760 73 74 20 72 65 74 75 72 6e 0a 20 20 3b 3b 20 6e 69 6c 2e 0a 20 20 6e 69 6c 29 0a 0a 3b 3b 3b 23 st.return...;;.nil....nil)..;;;#
1c780 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 ##autoload.(defun.htmlize-many-f
1c7a0 69 6c 65 73 20 28 66 69 6c 65 73 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 2d 64 69 72 iles.(files.&optional.target-dir
1c7c0 65 63 74 6f 72 79 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 46 49 4c 45 53 20 74 6f 20 48 54 4d 4c ectory)..."Convert.FILES.to.HTML
1c7e0 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 48 54 4d 4c .and.save.the.corresponding.HTML
1c800 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 46 49 4c 45 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 .versions...FILES.should.be.a.li
1c820 73 74 20 6f 66 20 66 69 6c 65 20 6e 61 6d 65 73 20 74 6f 20 63 6f 6e 76 65 72 74 2e 20 20 54 68 st.of.file.names.to.convert...Th
1c840 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 0a 60 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 27 is.function.calls.`htmlize-file'
1c860 20 6f 6e 20 65 61 63 68 20 66 69 6c 65 3b 20 73 65 65 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e .on.each.file;.see.that.function
1c880 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 20 20 57 68 65 6e 0a 69 6e 76 6f 6b 65 64 20 69 6e 74 65 .for.details...When.invoked.inte
1c8a0 72 61 63 74 69 76 65 6c 79 2c 20 79 6f 75 20 61 72 65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 ractively,.you.are.prompted.for.
1c8c0 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 74 6f 20 63 6f 6e 76 65 72 74 2c 0a 74 65 72 6d a.list.of.files.to.convert,.term
1c8e0 69 6e 61 74 65 64 20 77 69 74 68 20 52 45 54 2e 0a 0a 49 66 20 54 41 52 47 45 54 2d 44 49 52 45 inated.with.RET...If.TARGET-DIRE
1c900 43 54 4f 52 59 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 48 54 4d 4c 20 66 69 6c CTORY.is.specified,.the.HTML.fil
1c920 65 73 20 77 69 6c 6c 20 62 65 20 73 61 76 65 64 20 74 6f 20 74 68 61 74 0a 64 69 72 65 63 74 6f es.will.be.saved.to.that.directo
1c940 72 79 2e 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 65 61 63 68 20 48 54 4d 4c 20 66 69 6c 65 20 69 73 ry...Normally,.each.HTML.file.is
1c960 20 73 61 76 65 64 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 0a 63 .saved.to.the.directory.of.the.c
1c980 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e orresponding.source.file."...(in
1c9a0 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 20 20 28 6c 65 74 20 28 6c 69 73 teractive....(list.....(let.(lis
1c9c0 74 20 66 69 6c 65 29 0a 20 20 20 20 20 20 3b 3b 20 55 73 65 20 65 6d 70 74 79 20 73 74 72 69 6e t.file).......;;.Use.empty.strin
1c9e0 67 20 61 73 20 44 45 46 41 55 4c 54 20 62 65 63 61 75 73 65 20 73 65 74 74 69 6e 67 20 44 45 46 g.as.DEFAULT.because.setting.DEF
1ca00 41 55 4c 54 20 74 6f 20 6e 69 6c 0a 20 20 20 20 20 20 3b 3b 20 64 65 66 61 75 6c 74 73 20 74 6f AULT.to.nil.......;;.defaults.to
1ca20 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 77 68 69 63 68 20 69 73 20 6e 6f .the.directory.name,.which.is.no
1ca40 74 20 77 68 61 74 20 77 65 20 77 61 6e 74 2e 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f t.what.we.want........(while.(no
1ca60 74 20 28 65 71 75 61 6c 20 28 73 65 74 71 20 66 69 6c 65 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e t.(equal.(setq.file.(read-file-n
1ca80 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.............................
1caa0 20 20 20 20 20 20 20 20 20 22 48 54 4d 4c 2d 69 7a 65 20 66 69 6c 65 20 28 52 45 54 20 74 6f 20 ........."HTML-ize.file.(RET.to.
1cac0 66 69 6e 69 73 68 29 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 finish):."......................
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6c 69 73 74 20 28 66 69 6c 65 2d ................(and.list.(file-
1cb00 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name-directory..................
1cb20 20 20 20 20 20 20 20 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 ...............................(
1cb40 63 61 72 20 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 20 20 20 car.list))).....................
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 20 74 29 29 0a 20 20 20 20 20 20 20 20 ................."".t)).........
1cb80 20 20 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 28 70 ................."")).........(p
1cba0 75 73 68 20 66 69 6c 65 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 ush.file.list)).......(nreverse.
1cbc0 6c 69 73 74 29 29 29 29 0a 20 20 3b 3b 20 56 65 72 69 66 79 20 74 68 61 74 20 54 41 52 47 45 54 list))))...;;.Verify.that.TARGET
1cbe0 2d 44 49 52 45 43 54 4f 52 59 20 69 73 20 69 6e 64 65 65 64 20 61 20 64 69 72 65 63 74 6f 72 79 -DIRECTORY.is.indeed.a.directory
1cc00 2e 20 20 49 66 20 69 74 27 73 20 61 0a 20 20 3b 3b 20 66 69 6c 65 2c 20 68 74 6d 6c 69 7a 65 2d ...If.it's.a...;;.file,.htmlize-
1cc20 66 69 6c 65 20 77 69 6c 6c 20 75 73 65 20 69 74 20 61 73 20 74 61 72 67 65 74 2c 20 61 6e 64 20 file.will.use.it.as.target,.and.
1cc40 74 68 61 74 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 0a 20 20 3b 3b 20 73 65 6e 73 65 2e 0a 20 20 that.doesn't.make...;;.sense....
1cc60 28 61 6e 64 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 28 6e 6f (and.target-directory........(no
1cc80 74 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 74 61 72 67 65 74 2d 64 69 72 65 63 t.(file-directory-p.target-direc
1cca0 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 74 61 72 67 65 74 2d 64 69 72 tory))........(error."target-dir
1ccc0 65 63 74 6f 72 79 20 6d 75 73 74 20 6e 61 6d 65 20 61 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 ectory.must.name.a.directory:.%s
1cce0 22 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 ".target-directory))...(dolist.(
1cd00 66 69 6c 65 20 66 69 6c 65 73 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 20 66 69 file.files).....(htmlize-file.fi
1cd20 6c 65 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 0a 28 64 65 63 6c 61 72 65 le.target-directory)))..(declare
1cd40 2d 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 -function.dired-get-marked-files
1cd60 20 22 64 69 72 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 26 6f 70 74 ."dired"...................(&opt
1cd80 69 6f 6e 61 6c 20 6c 6f 63 61 6c 70 20 61 72 67 20 66 69 6c 74 65 72 20 64 69 73 74 69 6e 67 75 ional.localp.arg.filter.distingu
1cda0 69 73 68 2d 6f 6e 65 2d 6d 61 72 6b 65 64 20 65 72 72 6f 72 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 ish-one-marked.error))..;;;###au
1cdc0 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 toload.(defun.htmlize-many-files
1cde0 2d 64 69 72 65 64 20 28 61 72 67 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 2d 64 69 72 -dired.(arg.&optional.target-dir
1ce00 65 63 74 6f 72 79 29 0a 20 20 22 48 54 4d 4c 69 7a 65 20 64 69 72 65 64 2d 6d 61 72 6b 65 64 20 ectory)..."HTMLize.dired-marked.
1ce20 66 69 6c 65 73 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 68 files."...(interactive."P")...(h
1ce40 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 20 28 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 tmlize-many-files.(dired-get-mar
1ce60 6b 65 64 2d 66 69 6c 65 73 20 6e 69 6c 20 61 72 67 29 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 ked-files.nil.arg).target-direct
1ce80 6f 72 79 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 3b 3b 20 4c 6f ory))..(provide.'htmlize)..;;.Lo
1cea0 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f cal.Variables:.;;.indent-tabs-mo
1cec0 64 65 3a 20 6e 69 6c 0a 3b 3b 20 45 6e 64 3a 0a 3b 3b 3b 20 68 74 6d 6c 69 7a 65 2e 65 6c 20 65 de:.nil.;;.End:.;;;.htmlize.el.e
1cee0 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........................
1cf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d000 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 4e 45 57 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.59/NEWS...............
1d020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d060 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
1d080 30 30 30 33 30 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 36 33 00 20 30 00 00 00 0003017.00000000000.012263..0...
1d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d100 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...................
1d120 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...................
1d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d200 68 74 6d 6c 69 7a 65 20 4e 45 57 53 20 2d 2d 20 68 69 73 74 6f 72 79 20 6f 66 20 75 73 65 72 2d htmlize.NEWS.--.history.of.user-
1d220 76 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73 2e 0a 0c 0a 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 visible.changes....*.Changes.in.
1d240 68 74 6d 6c 69 7a 65 20 31 2e 35 31 0a 0a 2a 2a 20 60 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 6f htmlize.1.51..**.`htmlize-face-o
1d260 76 65 72 72 69 64 65 73 27 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6f 76 65 72 72 69 64 verrides'.can.be.used.to.overrid
1d280 65 20 45 6d 61 63 73 27 73 20 66 61 63 65 0a 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 0c 0a 2a e.Emacs's.face.definitions.....*
1d2a0 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 6d 6c 69 7a 65 20 31 2e 34 37 0a 0a 2a 2a 20 47 4e 55 .Changes.in.htmlize.1.47..**.GNU
1d2c0 20 45 6d 61 63 73 20 32 31 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 73 75 70 70 6f 72 74 65 64 .Emacs.21.is.no.longer.supported
1d2e0 2e 0a 0a 0c 0a 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 6d 6c 69 7a 65 20 31 2e 34 35 0a 0a .....*.Changes.in.htmlize.1.45..
1d300 2a 2a 20 43 6f 72 72 65 63 74 6c 79 20 68 61 6e 64 6c 65 20 3a 69 6e 68 65 72 69 74 20 73 70 65 **.Correctly.handle.:inherit.spe
1d320 63 69 66 79 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 66 61 63 65 73 2e 20 20 28 54 68 69 73 20 cifying.a.list.of.faces...(This.
1d340 62 75 67 0a 77 6f 75 6c 64 20 63 61 75 73 65 20 61 6e 20 65 72 72 6f 72 20 69 6e 20 41 55 58 20 bug.would.cause.an.error.in.AUX.
1d360 54 65 58 20 62 75 66 66 65 72 73 2e 29 0a 0a 0c 0a 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 TeX.buffers.)....*.Changes.in.ht
1d380 6d 6c 69 7a 65 20 31 2e 34 34 0a 0a 2a 2a 20 46 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 69 mlize.1.44..**.Faces.specified.i
1d3a0 6e 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 79 20 61 72 65 20 6e 6f 77 20 70 72 n.the.`face'.property.are.now.pr
1d3c0 69 6f 72 69 74 69 7a 65 64 20 74 68 65 20 73 61 6d 65 0a 77 61 79 20 74 68 61 74 20 45 6d 61 63 ioritized.the.same.way.that.Emac
1d3e0 73 20 72 65 64 69 73 70 6c 61 79 20 64 6f 65 73 20 69 74 3a 20 66 61 63 65 73 20 74 68 61 74 20 s.redisplay.does.it:.faces.that.
1d400 61 70 70 65 61 72 20 65 61 72 6c 69 65 72 20 68 61 76 65 0a 70 72 65 63 65 64 65 6e 63 65 20 6f appear.earlier.have.precedence.o
1d420 76 65 72 20 74 68 6f 73 65 20 74 68 61 74 20 61 70 70 65 61 72 20 6c 61 74 65 72 2e 0a 0a 0c 0a ver.those.that.appear.later.....
1d440 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 6d 6c 69 7a 65 20 31 2e 34 31 0a 0a 2a 2a 20 60 62 *.Changes.in.htmlize.1.41..**.`b
1d460 65 66 6f 72 65 2d 73 74 72 69 6e 67 27 20 61 6e 64 20 60 61 66 74 65 72 2d 73 74 72 69 6e 67 27 efore-string'.and.`after-string'
1d480 20 6f 76 65 72 6c 61 79 20 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 6e 6f 77 0a 72 65 63 6f .overlay.properties.are.now.reco
1d4a0 67 6e 69 7a 65 64 20 62 79 20 68 74 6d 6c 69 7a 65 20 61 6e 64 20 69 6e 73 65 72 74 65 64 20 69 gnized.by.htmlize.and.inserted.i
1d4c0 6e 74 6f 20 74 68 65 20 48 54 4d 4c 2e 0a 0a 2a 2a 20 49 6d 61 67 65 73 20 73 70 65 63 69 66 69 nto.the.HTML...**.Images.specifi
1d4e0 65 64 20 62 79 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 20 61 72 65 20 72 65 63 ed.by.`display'.property.are.rec
1d500 6f 67 6e 69 7a 65 64 20 61 6e 64 20 69 6e 73 65 72 74 65 64 0a 69 6e 74 6f 20 74 68 65 20 48 54 ognized.and.inserted.into.the.HT
1d520 4d 4c 20 61 73 20 3c 69 6d 67 20 73 72 63 3d 2e 2e 2e 3e 2e 0a 0a 2a 2a 2a 20 49 66 20 74 68 65 ML.as.<img.src=...>...***.If.the
1d540 20 69 6d 61 67 65 20 64 61 74 61 20 63 6f 6d 65 73 20 66 72 6f 6d 20 61 20 66 69 6c 65 2c 20 74 .image.data.comes.from.a.file,.t
1d560 68 65 20 69 6d 61 67 65 20 77 69 6c 6c 20 62 65 20 72 65 6e 64 65 72 65 64 20 61 73 0a 61 20 72 he.image.will.be.rendered.as.a.r
1d580 65 6c 61 74 69 76 65 20 55 52 49 20 74 68 61 74 20 77 6f 75 6c 64 20 72 65 73 6f 6c 76 65 20 74 elative.URI.that.would.resolve.t
1d5a0 6f 20 74 68 61 74 20 66 69 6c 65 2e 20 20 49 6d 61 67 65 73 20 77 68 6f 73 65 20 64 61 74 61 0a o.that.file...Images.whose.data.
1d5c0 63 6f 6d 65 73 20 66 72 6f 6d 20 61 20 73 74 72 69 6e 67 20 77 69 6c 6c 20 62 65 20 72 65 6e 64 comes.from.a.string.will.be.rend
1d5e0 65 72 65 64 20 69 6e 6c 69 6e 65 20 61 73 20 64 61 74 61 3a 20 55 52 49 73 2e 20 20 54 68 65 20 ered.inline.as.data:.URIs...The.
1d600 66 6c 61 67 0a 60 68 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 flag.`htmlize-force-inline-image
1d620 73 27 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 69 6e 73 65 72 74 69 6e s'.can.be.used.to.force.insertin
1d640 67 20 2a 61 6c 6c 2a 0a 69 6d 61 67 65 73 20 69 6e 6c 69 6e 65 20 61 73 20 64 61 74 61 3a 20 55 g.*all*.images.inline.as.data:.U
1d660 52 49 73 2e 0a 0a 2a 2a 20 54 68 65 20 69 6d 61 67 65 27 73 20 41 4c 54 20 74 65 78 74 20 77 69 RIs...**.The.image's.ALT.text.wi
1d680 6c 6c 20 62 65 20 74 68 65 20 74 65 78 74 20 74 68 61 74 20 74 68 65 20 60 64 69 73 70 6c 61 79 ll.be.the.text.that.the.`display
1d6a0 27 20 70 72 6f 70 65 72 74 79 20 69 73 0a 72 65 70 6c 61 63 69 6e 67 2c 20 69 66 20 6e 6f 6e 2d '.property.is.replacing,.if.non-
1d6c0 65 6d 70 74 79 2e 0a 0a 2a 2a 20 41 72 62 69 74 72 61 72 79 20 6c 69 6e 6b 73 20 63 61 6e 20 6e empty...**.Arbitrary.links.can.n
1d6e0 6f 77 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d ow.be.added.to.the.generated.HTM
1d700 4c 2e 20 20 49 66 20 68 74 6d 6c 69 7a 65 0a 65 6e 63 6f 75 6e 74 65 72 73 20 62 75 66 66 65 72 L...If.htmlize.encounters.buffer
1d720 20 74 65 78 74 20 77 69 74 68 20 60 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 27 20 70 72 6f 70 65 72 .text.with.`htmlize-link'.proper
1d740 74 79 2c 20 69 74 20 77 69 6c 6c 20 77 72 61 70 20 74 68 65 0a 74 65 78 74 20 69 6e 20 3c 61 20 ty,.it.will.wrap.the.text.in.<a.
1d760 68 72 65 66 3d 22 75 72 69 22 3e 2e 2e 2e 3c 2f 61 3e 2e 20 20 49 66 20 74 68 65 20 70 72 6f 70 href="uri">...</a>...If.the.prop
1d780 65 72 74 79 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 69 74 0a 69 73 20 69 6e erty.value.is.a.string,.it.is.in
1d7a0 74 65 72 70 72 65 74 65 64 20 61 73 20 74 68 65 20 55 52 49 2e 20 20 49 66 20 69 74 20 69 73 20 terpreted.as.the.URI...If.it.is.
1d7c0 61 20 6c 69 73 74 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 70 72 6f 70 65 72 74 79 0a a.list,.it.should.be.a.property.
1d7e0 6c 69 73 74 20 77 68 6f 73 65 20 63 75 72 72 65 6e 74 6c 79 20 6f 6e 6c 79 20 64 65 66 69 6e 65 list.whose.currently.only.define
1d800 64 20 6b 65 79 20 69 73 20 3a 75 72 69 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d.key.is.:uri...................
1d820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 68 74 6d 6c 69 7a 65 2d 31 2e 35 39 2f 68 74 6d 6c 69 7a 65 2d 70 6b 67 2e 65 6c 00 00 00 00 00 htmlize-1.59/htmlize-pkg.el.....
1da20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 30 30 30 36 34 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 34 33 00 20 30 00 00 00 0000643.00000000000.014343..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 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
1dc20 20 66 72 6f 6d 20 68 74 6d 6c 69 7a 65 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f .from.htmlize.el..-*-.no-byte-co
1dc40 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 68 74 mpile:.t.-*-.(define-package."ht
1dc60 6d 6c 69 7a 65 22 20 22 31 2e 35 39 22 20 22 43 6f 6e 76 65 72 74 20 62 75 66 66 65 72 20 74 65 mlize"."1.59"."Convert.buffer.te
1dc80 78 74 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 22 20 27 28 28 65 xt.and.decorations.to.HTML".'((e
1dca0 6d 61 63 73 20 22 32 36 2e 31 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 61 32 34 65 64 35 61 39 33 macs."26.1")).:commit."a24ed5a93
1dcc0 39 61 33 32 63 36 32 35 62 30 33 34 62 30 62 36 64 37 66 34 36 33 34 30 63 31 30 30 33 39 34 22 9a32c625b034b0b6d7f46340c100394"
1dce0 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 48 72 76 6f 6a 65 20 4e 69 6b 73 69 63 22 20 2e 20 22 .:authors.'(("Hrvoje.Niksic"..."
1dd00 68 6e 69 6b 73 69 63 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 hniksic@gmail.com")).:maintainer
1dd20 20 27 28 22 48 72 76 6f 6a 65 20 4e 69 6b 73 69 63 22 20 2e 20 22 68 6e 69 6b 73 69 63 40 67 6d .'("Hrvoje.Niksic"..."hniksic@gm
1dd40 61 69 6c 2e 63 6f 6d 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 68 79 70 65 72 6d 65 64 69 ail.com").:keywords.'("hypermedi
1dd60 61 22 20 22 65 78 74 65 6e 73 69 6f 6e 73 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 a"."extensions").:url."https://g
1dd80 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 6f 72 70 68 61 6e 61 67 65 2f 68 74 6d 6c 69 7a 65 ithub.com/emacsorphanage/htmlize
1dda0 22 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 00 00 00 00 00 00 ")..............................
1ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................