;ELC   
;;; Compiled
;;; in Emacs version 30.1
;;; with all optimizations.


#@62 The timer we use to decide when to zone out, or nil if none.
(defvar zone-timer nil (#$ . 83))#@80 Seconds to timeout the zoning.
If nil, don't interrupt for about 1^26 seconds.
(defvar zone-timeout nil (#$ . 183))
(defvar zone-programs [zone-pgm-jitter zone-pgm-putz-with-case zone-pgm-dissolve zone-pgm-whack-chars zone-pgm-rotate zone-pgm-rotate-LR-lockstep zone-pgm-rotate-RL-lockstep zone-pgm-rotate-LR-variable zone-pgm-rotate-RL-variable zone-pgm-drip zone-pgm-drip-fretfully zone-pgm-five-oclock-swan-dive zone-pgm-martini-swan-dive zone-pgm-rat-race zone-pgm-paragraph-spaz zone-pgm-stress zone-pgm-stress-destress zone-pgm-random-life])#@19 

(fn &rest BODY)
(defalias 'zone-orig '(macro . #[128 "\300\301BB\207" [with-current-buffer (get 'zone 'orig-buffer)] 4 (#$ . 736)]))
(defalias 'zone-hiding-mode-line '(macro . #[128 "\300\301BB\207" [let (mode-line-format)] 4 (#$ . 736)]))#@392 Call PROGRAM in a zoned way.
If PROGRAM is a function, call it, interrupting after the amount
 of time in seconds specified by optional arg TIMEOUT, or `zone-timeout'
 if unspecified, q.v.
PROGRAM can also be a list of elements, which are interpreted like so:
If the element is a function or a list of a function and a number,
 apply `zone-call' recursively.

(fn PROGRAM &optional TIMEOUT)#@13 

(fn ELEM)
(defalias 'zone-call #[513 "\302!\203/ \3032& \304\206 \206 \305\306\307#\211	B\310\311\"\216 *\2620\211\303=?\205. \211\207<\2058 \312\313\"\207" [zone-timeout with-timeout-timers functionp #1=#:timeout run-with-timer 67108864 nil #[0 "\300\301\211\"\207" [throw #1#] 3] make-closure #[0 "\301\300!\207" [V0 cancel-timer] 2] mapcar #[257 "\300!\203\n \301!\207\211<\203\" \300@!\203\" \211A@\247\203\" \302\301\"\207\303\304\"\207" [functionp zone-call apply error "Bad `zone-call' elem: %S"] 4 (#$ . 1382)]] 6 (#$ . 986)])#@246 Zone out, completely.
With a prefix argument the user is prompted for a program to run.
When called from Lisp the optional argument PGM can be used to
run a specific program.  The program must be a member of
`zone-programs'.

(fn &optional PGM)#@13 

(fn PROG)
(defalias 'zone #[256 "\211\204\f \306G!H\262\307 \310\311\"\216\312 \313\314!\315 \316\317\320\"{\321 \315 ZT\322\323\324p#\210\325!\210\326\327 \210\320\211r\323\324Nq\210\f)r\323\324Nq\210)c\210\330ed\"\210\331\332 e\"\210\333\332 \"\210\334\335!\210\205j \336\337\"\317\211C0\203z \340\341\"\210\211\310\342\n\f%\240\210\3431\316 \3441\256 \345\346\n\"\210\347 \210\350 \203\240 \351 \210\352	!\210\345\353!00\210\202\332 0\210\211\242 \210\350 \204\332 \345\354\n\"\210\334\355!\210\345\356!\210\334\355!\210\202\264 \210\211\242 \210\357 \210\345\353!\210\211\242\205\342 \211\242 *\207" [zone-programs mode-name buffer-undo-list truncate-lines tab-width line-spacing random current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] selected-frame get-buffer-create "*zone*" window-start window-end nil t window-point put zone orig-buffer switch-to-buffer "Zone" erase-buffer untabify set-window-start selected-window set-window-point sit-for 0.5 frame-parameter cursor-type modify-frame-parameters ((cursor-type bar . 0)) #[0 "\301\203\f \304\303\305\301BC\"\210\306\302!\210\300\307\240\207" [V0 V1 V2 V3 modify-frame-parameters cursor-type kill-buffer nil] 4] (quit) (error) message "Zoning... (%s)" garbage-collect input-pending-p discard-input zone-call "Zoning...sorry" "We were zoning when we wrote %s..." 3 "...here's hoping we didn't hose your buffer!" ding show-trailing-whitespace] 17 (#$ . 1941) (byte-code "\205 \302\303\304\305	\"\306\307$\310\311P!\262C\207" [current-prefix-arg zone-programs completing-read "Program: " mapcar #[257 "\300!\301\302O\207" [symbol-name 9 nil] 4 (#$ . 2191)] nil t intern "zone-pgm-"] 5)])#@64 Zone out when Emacs has been idle for SECS seconds.

(fn SECS)
(defalias 'zone-when-idle #[257 "\301!\203\n \302!\210\303\211\304X\206 \305\306\307#\211\207" [zone-timer timerp cancel-timer nil 0 run-with-idle-timer t zone] 5 (#$ . 3920) "nHow long before I start zoning (seconds): "])#@36 Don't zone out when Emacs is idle.
(defalias 'zone-leave-me-alone #[0 "\301!\203\n \302!\210\303\304\305!\207" [zone-timer timerp cancel-timer nil message "I won't zone out any more"] 2 (#$ . 4217) nil])
(defalias 'zone-shift-up #[0 "`\300y\210`{|\210db\210\211c\207" [1] 5])
(defalias 'zone-shift-down #[0 "db\210`\300y\210`{|\210eb\210\211c\207" [-1] 5])
(defalias 'zone-shift-left #[0 "\300m?\205) l\204 ``T{\262\301\302!\210\300\210\211c\210\3031% \302u0\210\202 \210\202 \207" [nil delete-char 1 (error)] 3])
(defalias 'zone-shift-right #[0 "db\210\300o?\205# n\204 `S`{\262\301\302!\210\303 \210\211c\210\304\210\202 \207" [nil delete-char -1 beginning-of-line 0] 3])
(defalias 'zone-pgm-jitter #[0 "eb\210\300 ?\205 \301\302\303!\234 \210eb\210\304\305!\210\202 \207" [input-pending-p [zone-shift-left zone-shift-right zone-shift-down zone-shift-up] random 4 sit-for 0.01] 3])
(defalias 'zone-pgm-whack-chars #[0 "\300\301\302N!\303 ?\205- \304\211\305W\203 \306\307!\304\\I\210T\202\f \310ed#\210\311\312!\266\202 \207" [copy-sequence zone-pgm-whack-chars wc-tbl input-pending-p 48 122 random 75 translate-region sit-for 0.002] 6])
(byte-code "\300\301\302\303\304\305\"\306\211\304W\203 \211I\210T\202 \210#\207" [put zone-pgm-whack-chars wc-tbl make-string 128 120 0] 8)
(defalias 'zone-remove-text #[0 "\300\211\205A \210\301\212eb\210m\2049 \302\303!\2033 \304\305!\211\306U\204( \300\262\307u\266\202 \310\307!\210\311c\266\202 \307u\210\202 )\312\313!\210\202 \207" [t nil looking-at "[^(){}\n	 ]" random 5 0 1 delete-char " " sit-for 0.002] 4])
(defalias 'zone-pgm-dissolve #[0 "\300 \210\301 \207" [zone-remove-text zone-pgm-jitter] 1])
(defalias 'zone-exploding-remove #[0 "\300\211\301W\2034 \212eb\210m\204+ \302\303!\203% \304\301!\211\300U\204! \305u\210\306c\266\305u\210\202 )T\307\310!\210\202 \210\311 \207" [0 5 looking-at "[^*\n	 ]" random 1 " " sit-for 0.002 zone-pgm-jitter] 4])
(defalias 'zone-pgm-explode #[0 "\300 \210\301 \207" [zone-exploding-remove zone-pgm-jitter] 1])
(defalias 'zone-pgm-2nd-putz-with-case #[0 "\300\301\302\"\303\211\301W\203 \211I\210T\202 \304 ?\205s \210\305\211\306X\203@ \307\310!\303U\2031 \226\2023 \227I\210\211\307\310!T\\\262\202 \210\311\211\306X\203f \307\310!\303U\203W \227\202Y \226I\210\211\307\310!T\\\262\202B \312ed#\210\313\314!\210\202 \207" [make-string 128 120 0 input-pending-p 97 122 random 5 65 translate-region sit-for 0.002] 6])
(defalias 'zone-pgm-putz-with-case #[0 "eb\210\300 ?\205> \301\302!\303\\dW\2032 \301\303!\304U\203! \305\202\" \306S\"\210\301\302!T\\\262\202 \266eb\210\307\310!\210\202 \207" [input-pending-p random 5 2 0 upcase-region downcase-region sit-for 0.002] 5])
(defalias 'zone-line-specs #[0 "\300\301\212\302 b\210\203* `\303 W\203* \304\305!\203! \306\224\306\225BB\262\306y\307U\262\202 )\207" [t nil window-start window-end looking-at "[	 ]*\\([^\n]+\\)" 1 0] 4])#@31 

(fn &optional RANDOM-STYLE)#@12 

(fn ENT)
(defalias 'zone-pgm-rotate #[256 "\300\301\302C\303\304\305#\306 \"\210\242\"\211G\302\211\211\211\211\211\211\307 ?\205\200 \310\262W\203y H\262\211\310H\262\311!\262\310W\203K \312\262\313\262\202Q \313\262\312\262\211Hb\210d`Z^\262``\\{\262\314!\210\211Hb\210c\210T\262\202# \315\316!\210\202 \207" [apply vector nil mapc make-closure #[257 "\211@A\301\203 \301 \202 \302\303!\304Z\305!ZW\203# \302Z!\262\211\306U?\2059 \300\307\305!Z#\300\242B\240\207" [V0 V1 random 7 3 abs 0 vector] 11 (#$ . 7206)] zone-line-specs input-pending-p 0 abs 1 2 delete-char sit-for 0.04] 13 (#$ . 7171)])
(defalias 'zone-pgm-rotate-LR-lockstep #[0 "\300\301!\207" [zone-pgm-rotate #[0 "\300\207" [1] 1]] 2])
(defalias 'zone-pgm-rotate-RL-lockstep #[0 "\300\301!\207" [zone-pgm-rotate #[0 "\300\207" [-1] 1]] 2])
(defalias 'zone-pgm-rotate-LR-variable #[0 "\300\301!\207" [zone-pgm-rotate #[0 "\300\301!T\207" [random 3] 2]] 2])
(defalias 'zone-pgm-rotate-RL-variable #[0 "\300\301!\207" [zone-pgm-rotate #[0 "\300\301![S\207" [random 3] 2]] 2])#@12 

(fn POS)
(defalias 'zone-cpos #[257 "\211T{\207" [] 3 (#$ . 8300)])#@49 

(fn COUNT DEL-COUNT CHAR-AS-STRING NEW-VALUE)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put zone-cpos speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'zone-replace-char #[1028 "\300\206 [!\210\301I\210\301\211W\205 \302c\266T\202 \207" [delete-char 0 nil] 7 (#$ . 8376)])#@20 

(fn POS SECONDS)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put zone-replace-char speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'zone-park/sit-for #[514 "`b\210\300!b\210\207" [sit-for] 5 (#$ . 8706)])#@17 

(fn WBEG POS)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put zone-park/sit-for speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'zone-fret #[514 "\301\211\211T{\262\302\303\304H!!\305\306\"\203 \226\2020 \305\307\"\203( \227\2020 \310\311\312\313\314E#\315\304\211\316W\203f b\210\317\320!\210\211\321\246\304U\203K \202L c\210\322_\211\262`b\210\323!b\210\266T\2022 \210\317\324!\210c)\207" [case-fold-search nil ceiling char-width 0 string-match "[a-z]" "[A-Z]" propertize " " display space :width 0.5 20 delete-char 1 2 0.8 sit-for -1] 12 (#$ . 8960)])#@21 

(fn WIDTH HEIGHT)
(defalias 'zone-fill-out-screen #[514 "\300 \301\302\"b\210\303\210i\211W\203 \303Oc\210\202\" \304Z!\210m\203- \305c\266\2024 \306u\266\202	 \307e`\"Z\211\310V\203V \305P\262\310\211W\203U \303c\266T\202F \210\210b\210\311\310!\210\312\310!\207" [window-start make-string 32 nil delete-char "\n" 1 count-lines 0 recenter sit-for] 8 (#$ . 9584)])#@20 

(fn C WBEG WEND)
(defalias 'zone-fall-through-ws #[771 "\300\301\302H!!\303\304\"i\305\306\211\212\307y\302U\2057 u\210iU\2057 `\262\310\211	\\\"\230\2057 S\\\211\262)\203q \210\311\312\307!\210c\210b\210`W\203q \312!\210c\210\313u\210\314_\211\262`b\210\315!b\210\266\203\204 \207" [ceiling char-width 0 make-string 32 0.15 nil 1 buffer-substring-no-properties t delete-char -1 0.8 sit-for] 14 (#$ . 9974)])#@35 

(fn &optional FRET-P PANCAKE-P)
(defalias 'zone-pgm-drip #[512 "\300 S\301 \302_\303\211\211\211\304\"\210\305 \262\306 \262\3072 \310 ?\205\302\262\306 \262\311Z!\\b\210\312\313!\203[ T\211\262U\203O \314\307\315\"\210\2026 \311Z!\\b\210\2026 `\n\203f \316\"\210\211b\210\211\211T{\262\262\317#\262\210\203  \203  \320e`\"W\203  \321\322\302H!!\211\323\324\325\206\237 [!\210\302I\210\302\211W\205\266 \303c\266T\202\247 \266\326`b\210\327!b\210\266\211\303\330\325\206\321 [!\210\302I\210\302\211W\205\350 \303c\266T\202\331 \266\326`b\210\327!b\210\266\211\303\331\325\206[!\210\302I\210\302\211W\205\303c\266T\202\266\202  0\207" [window-width window-height 0 nil zone-fill-out-screen window-start window-end done input-pending-p random looking-at "[ \n\f]" throw sel zone-fret zone-fall-through-ws count-lines ceiling char-width 1 64 delete-char 0.137 sit-for 42 95] 18 (#$ . 10418)])
(defalias 'zone-pgm-drip-fretfully #[0 "\300\301!\207" [zone-pgm-drip t] 2])
(defalias 'zone-pgm-five-oclock-swan-dive #[0 "\300\301\302\"\207" [zone-pgm-drip nil t] 3])
(defalias 'zone-pgm-martini-swan-dive #[0 "\300\301\211\"\207" [zone-pgm-drip t] 3])
(defalias 'zone-pgm-rat-race #[0 "\300 ?\205 \301\302!\210\202  \207" [input-pending-p zone-call ((zone-pgm-rotate 10) (zone-pgm-drip-fretfully 15) (zone-pgm-drip 10) ((lambda nil (goto-char (point-min)) (while (re-search-forward " +$" nil t) (delete-region (match-beginning 0) (match-end 0)))) 5))] 2])
(defalias 'zone-pgm-paragraph-spaz #[0 "r\302\303Nq\210)\304>\203F 	\211\211\305 S\306\307!\205D \310\311!\210	\312\313!\314Z\\\211W\2030 	\262	V\2038 \211	V\203 	\262\202 )\207\315\316!\210\317 \207" [major-mode fill-column zone orig-buffer (text-mode texinfo-mode fundamental-mode) frame-width sit-for 0.1 fill-paragraph 1 random 5 2 message "Zoning... (zone-pgm-rotate)" zone-pgm-rotate] 8])
(defalias 'zone-pgm-stress #[0 "eb\210\301\302\203  `dW\203  `\303y\304U\262\211`{B\266\202\202 \305\306!\210\302\307\211\310\230\204> \311\303\302O\211\262!\210\305\312!\210\202' \210\313 ?\205v \314\315!\316V\203a db\210\317y\210`\320\321!|\210eb\210\322!c\210\311\323\314\324 \306Z!\325\"\326P!\210\305\327!\210\202? )\207" [mode-line-format t nil 1 0 sit-for 5 "Zoning... (zone-pgm-stress)" "" message 0.05 input-pending-p random 100 50 -1 line-beginning-position 2 seq-random-elt make-string frame-width 32 "grrr" 0.1] 7])
(defalias 'zone-pgm-stress-destress #[0 "\301\302\303\"\210\304\305\306!\210\307 \210\305\306!\210\310\311!\210\312\313!\210db\210\314\315!\210\305\306!\210e\316 |\210\312\317!\210\301\320!)\207" [mode-line-format zone-call zone-pgm-stress 25 nil sit-for 3 erase-buffer insert-buffer-substring "*Messages*" message "" recenter -1 window-start "hey why stress out anyway?" ((zone-pgm-rotate 30) (zone-pgm-whack-chars 10) zone-pgm-drip)] 3])#@125 Seconds to wait between successive `life' generations.
If nil, `zone-pgm-random-life' chooses a value from 0-3 (inclusive).
(defvar zone-pgm-random-life-wait nil (#$ . 13342))
(defalias 'zone-pgm-random-life #[0 "\302\303!\210\304\305 S\306 S\"\210\307 b\210\310y\210`\311 b\210\312y\210`\313 \314Z\307 \311 S\315\211\211d|\210b\210\316\317!\203\333 \320!\\b\210\321w\210`U\203X \321x\322U\204\333 `U\204\333 \323u\210l\204- m\204- `\211T{\262\262\322H\262\324!\325\n`V\204\221 	`W\204\221 i\211\262\314W\204\221 W\203\225 \326\202\270 \327Y\203\247 \330X\203\247 \331\\\202\270 \332Y\203\267 \333X\203\267 \334\202\270 \335\336\206\277 [!\210\322I\210\322\211W\205\326 \315c\266T\202\307 \266\202- \316\337!\266\315b\210`W\203`\262\340\341!\210`{B\262\322\210\342u\210\202\345 \343\203\344\345\346#\203\347@G\326\"B\2020\350\351\352	\314Z\353\245\347\354\335\"\"\347\355\326\"#C!\303	\206:\320\356!!\210\357\315!)\207" [life-patterns zone-pgm-random-life-wait require life zone-fill-out-screen window-width window-height window-start 7 window-end -7 frame-width 11 nil sit-for 0.05 random " @\n" 0 -1 char-width 1 32 97 122 -32 65 90 42 64 delete-char 3 move-to-column 9 -10 vector search-forward "@" t make-string mapconcat identity make-list 15 5 10 4 kill-buffer] 16])
(provide 'zone)
