debian/0000755000000000000000000000000011365741526007200 5ustar debian/rules0000755000000000000000000000041011365435144010247 0ustar #!/usr/bin/make -f # -*- makefile-gmake -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh --with quilt $@ override_dh_auto_clean: dh_auto_clean rm -f sample1.tty override_dh_auto_build: uudecode debian/sample1.tty.uue dh_auto_build debian/changelog0000644000000000000000000001002011365741365011044 0ustar ttyrec (1.0.8-5) unstable; urgency=low * debian/patches/15_ttyrec_dont_record_query.diff: New file (Closes: #579388). * debian/patches/16_ttyrec_XCASE.diff: New file. -- NIIBE Yutaka Wed, 28 Apr 2010 13:35:25 +0900 ttyrec (1.0.8-4) unstable; urgency=low * debian/patches/14_ttyplay_man.diff: New file (Closes: #564942). * debian/patches/13_ttyplay_fread.diff: New file (Closes: #564931). * debian/patches/12_ttyplay_fix_select.diff: New file. * debian/patches/11_sigaction.diff: New file. * debian/patches/10_control_tty.diff: New file. * debian/patches/09_sigwinch.diff: New file (Closes: #564777). Thanks to Joey Hess. * debian/patches/01_Makefile.diff: Use _GNU_SOURCE for 'signal' to have BSD semantics (was: _XOPEN_SOURCE). Suggested by Joey Hess. * debian/patches/08_sigchld.diff: New file (Closes: #558992). Thanks to Joey Hess. * debian/patches/07_ttyrec_man.diff: New file (Closes: #558986). Thanks to Joey Hess. * debian/examples: New file. * debian/patches/{02_minor_cleanup.diff,03_io_h.diff, 04_64-bit.diff,05_WINSZ.diff,06_pause.diff}: 1.0.8-3-diffs into patches. * debian/{rules,source,README.source}: Use 3.0 (quilt) format. * debian/control (Build-Depends): Added quilt. (Depends): Added ${misc:Depends}. -- NIIBE Yutaka Tue, 27 Apr 2010 10:02:14 +0900 ttyrec (1.0.8-3) unstable; urgency=low * Apply a patch by Colin Watson (Closes: #457488). * ttyplay.c (ttywait): Implement a case where speed == 0.0. * ttyplay.c (ttynowait): Return 1.0 (was: 0). * ttyplay.c (ttyplay): Loop until speed != 0.0. * debian/control (Standards-Version): Conform to 3.8.0. -- NIIBE Yutaka Tue, 01 Jul 2008 11:29:27 +0900 ttyrec (1.0.8-2) unstable; urgency=low * ttyrec.c (getslave): Fix a bug reported by Adam Borowski (Closes: #472463). -- NIIBE Yutaka Fri, 28 Mar 2008 13:41:17 +0900 ttyrec (1.0.8-1) unstable; urgency=low * io.h (set_progname): Added the declaration. * io.c (efdopen): Bug fix, returns fp. Apply patch by Adam Borowski to fix 64-bit machine issue. (Closes: #154520) Let include endian.h and stdint.h. (SWAP_ENDIAN): Use uint32_t. (is_little_endian): Removed. (convert_to_litte_endian): Use uint32_t and BYTE_ORDER at compile time. (read_header, write_header): Use uint32_t. * Improve the description (Closes: #455604). Thanks to Josh Triplett. * New upstream release, found that old bug has been fixed in 1.0.6-2 by pty change of SVR4 (Closes: #161842). * debian/watch: New file. * debian/manpages: Includes ttytime.1. * debina/rules (install): Install ttytime (Closes: #303380). (build): Supply -D_XOPEN_SOURCE for functions (grantpt, unlockpt, ptsname). -- NIIBE Yutaka Wed, 30 Jan 2008 13:05:31 +0900 ttyrec (1.0.6-2) unstable; urgency=low * debian/control (Maintainer): New maintainer (Closes: #444704). * debian/rules (build): Compile with -DSVR4 (Closes: #437859). (clean): Don't ignore error of make clean. (DH_COMPAT): Removed. * debian/compat: New file. -- NIIBE Yutaka Fri, 25 Jan 2008 13:39:03 +0900 ttyrec (1.0.6-1) unstable; urgency=low * New upstream release (closes: #173018,#222007) -- Takuo KITAME Fri, 19 Dec 2003 14:39:56 +0900 ttyrec (1.0.5-2) unstable; urgency=low * Change Maintainer address to @debian.org -- Takuo KITAME Fri, 8 Nov 2002 17:50:00 +0900 ttyrec (1.0.5-1) unstable; urgency=low * New upstream release -- Takuo KITAME Mon, 18 Feb 2002 16:32:04 +0900 ttyrec (1.0.4-2) unstable; urgency=low * dh_installmime -- Takuo KITAME Sat, 23 Jun 2001 01:31:37 +0900 ttyrec (1.0.4-1) unstable; urgency=low * New upstream release * Added manpages. (closes: Bug#96357) * Added examples. -- Takuo KITAME Fri, 18 May 2001 09:49:24 +0900 ttyrec (1.0.2-1) unstable; urgency=low * Initial Release. -- Takuo KITAME Thu, 1 Mar 2001 18:49:18 +0900 debian/control0000644000000000000000000000133211365434740010577 0ustar Source: ttyrec Section: misc Priority: optional Maintainer: NIIBE Yutaka Build-Depends: quilt (>= 0.46-7~), debhelper (>= 7.0.50~), sharutils Standards-Version: 3.8.4 Package: ttyrec Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Terminal interaction recorder and player (for tty) This package includes "ttyrec", a tty recorder which records terminal interaction, and "ttyplay", the player to see that intereaction. . Ttyrec records your terminal input and output, like the "script" command, but additionally records timing information to allow playback at the original speed. It can record any console program, including screen-oriented programs such as those using curses. debian/copyright0000644000000000000000000000401010773072414011121 0ustar This package was debianized by Takuo KITAME on Wed, 27 Dec 2000 10:31:58 +0900. It was downloaded from Upstream Author: Satoru Takabayashi Copyright: /* * Copyright (c) 1980 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ debian/watch0000644000000000000000000000010410773072414010217 0ustar version=3 http://0xcc.net/ttyrec/index.html.en ttyrec-(.*)\.tar\.gz debian/mime0000644000000000000000000000017210773072414010045 0ustar application/x-ttyrec; /usr/bin/ttyplay '%s'; needsterminal; description=tty record file; nametemplate=%s.tty; priority=5; debian/sample1.tty.uue0000644000000000000000000041334610773072414012107 0ustar begin 644 sample1.tty M5W$$.Z.>`P![````#1M;;1M;,C-M&ULR-&T;6THH&ULP.S,V;3DZ-#@;6S!M M*1M;,#LS,FUT86MU;QM;,#LP;1M;,&T@)2`;6TL;6S,X0R!;&ULT.S,U;7!E M<'!E7)E8R];<00[2]0)``8````((`@-#0I;<00[*D`* M`((````-&UMM&ULR,VT;6S(T;1M;2B@;6S`[,S9M.3HT.!M;,&TI&ULP.S,R M;71A:W5O&ULP.S!M&ULP;2`E(!M;2QM;,S%#(%L;6S0[,S5M<&5P<&5R;6EN M=!M;,#LP;3H;6S`[,S-M?B]W;W)K+V1E8FEA;B]T='ER96,;6S!M71M;-C5$ M6W$$.T,Y#P`!````85QQ!#M>L@```P````AA<%QQ!#O:W@,``0```'1<<00[ MWA8%``$````M7'$$.US9"0`!````9UQQ!#N2[`L``0```&5=<00[)$@!``(` M``!T(%UQ!#L#OP,``0```'-=<00[X50%``$```!O77$$.Q+S!P`%````=7)C M92!><00[SP(#``$```!T7G$$.VWV!``!````=%YQ!#O)1P<``0```'E><00[ M]5H)``$```!R7G$$.QUT"@`!````95YQ!#O?0@T``0```&-><00[>#\/``,` M```-#0I?<00[`+```!T````-4F5A9&EN9R!086-K86=E($QI````#5)E861I;F<@4&%C:V%G92!,:7-T2!47)E8R`U.#@O-3@X0B`Q,#`E75]Q!#N,=PD`:0````T@("`@("`@ M("`@("`@("`@("`@("`@("`@("`-1V5T.C(@:'1T<#HO+VQI;&%C+F1E8FEA M;BYG7)E8R`Q+C`N,BTQ("AT87(I(%LT M.38Y0ET-"E]Q!#L\X`D`:@````T@("`@("`@("`@("`@("`@("`@("`@("`@ M("`-1V5T.C,@:'1T<#HO+VQI;&%C+F1E8FEA;BYG7)E8R`Q+C`N,BTQ("AD:69F*2!;,C,Q-T)=#0I?<00[^5(*`"L` M```-("`@("`@("`@("`@("`@("`@("`@("`@("`@#3$P,"4@6U=O7)E8RTQ+C`N,@T*8'$$ M.P.A`0""````#1M;;1M;,C-M&ULR-&T;6THH&ULP.S,V;3DZ-#@;6S!M*1M; M,#LS,FUT86MU;QM;,#LP;1M;,&T@)2`;6TL;6S,Q0R!;&ULT.S,U;7!E<'!E M7)E8RTQ+C`N,AM;,&TO("`@ M("`@("`@("`;6S!M='1Y7)E8U\Q+C`N,BTQ+F1I9F8N9WH;6S!M("`;6S`P.S,Q;71T M>7)E8U\Q+C`N,BYOAM;,&T-"F!Q!#L"_0X``P```!M;;6!Q M!#N>`0\`@@````T;6VT;6S(S;1M;,C1M&UM**!M;,#LS-FTY.C0X&ULP;2D; M6S`[,S)M=&%K=6\;6S`[,&T;6S!M("4@&UM+&ULS,4,@6QM;-#LS-6UP97!P M97)M:6YT&ULP.S!M.AM;,#LS,VU^+W=O7)E8QM;,&U= M&ULV-41A<00[8W(*``$```!W87$$.VKC#``#````"'"``!````=&)Q!#O: MM0D``0```'1B<00[^T`+``0```!P.B\O8W$$.P]?#0`!````;F-Q!#M:^@T` M`0```&%D<00[(>L```$```!M9'$$.[+%`0`!````861Q!#M+`@@``0````=D M<00[&A4(``<```!Z=2YO#0`!````?F5Q!#M/9P$``0```'-E M<00[&V$"``$```!A97$$.U4]"``!````!V5Q!#O[3P@`#P````@("%Q^"``!```` M>69Q!#N[<0P``0````=F<00[/X0,``4```!R96,O(&=Q!#O!6@4``0````AG M<00[N\L*``$```!T9W$$.XS>#``!````=&=Q!#M!\@X``0```'EH<00[P<@` M``$```!R:'$$.T,!`@`!````96AQ!#O:(@P``0```&-I<00[9<@```$````M M:7$$.TA,!0`!````,6EQ!#LIMP@``0```"YI<00[>84+``$````P:7$$.S#7 M#0`!````+FIQ!#MDH@$``0```#1J<00[[1($``$````N:G$$.]=2"0`!```` M=&IQ!#MO3`H``0```&%J<00[=`$,``$```!R:W$$.RM7`P`!````+FMQ!#O_ MG`<``0```&=K<00[:;4(``$```!Z:W$$.]QP"P`#````#0T*:W$$.[03#0`Q M````&UM(&UM*&ULR-#LQ.$@;6TL;6S(T.S%(3W!E;FEN9QM;0W-O8VME="XN M+AM;,3LQ2&MQ!#O#20T`/0```!M;,C0[,4AN86UA>G4N;W)G(&-O;G1A8W1E M9"X;6T-786ET:6YG&UM#9F]R&UM#"`""```` M#1M;;1M;,C-M&ULR-&T;6THH&ULP.S,V;3DZ-#@;6S!M*1M;,#LS,FUT86MU M;QM;,#LP;1M;,&T@)2`;6TL;6S,Q0R!;&ULT.S,U;7!E<'!E@$``0```"YV<00[THT#``$````N=G$$ M.R_?!0`!````+W9Q!#LD[`@``0```"YW<00[.9,"``$````T=W$$.YQ.!``< M````"`AT='ER96,M,2XP+C0N=&%R+F=Z&UM+&ULQ0W=Q!#N4N@T`!`````@- M#0IX<00[E24%`!T```!/;&0@4F5L96%S92!T='ER96,@,2XP+C(M,2X-"GAQ M!#OE>P4`'@```$YE=R!296QE87-E('=I;&P@8F4@,2XP+C0M,2X-"GAQ!#L> MU`4`.````$-O<'EI;F<@<')I7)E8U\Q+C`N M-"YOBXN+@T*>'$$.P-+!@!`````+2T@56YT87)R:6YG('1H M92!N97<@7)E8RTQ+C`N-"YT87(N M9WH-"GAQ!#NVW0<`-P```%-U8V-E2!I7)E8R]T='ER96,M,2XP+C(;6S!M71M;-C5$>7$$.]0/"``!```` M8WEQ!#LYJP@``P````AC9'EQ!#NI0PL``0```"!Y<00[SB,/``$````N>G$$ M.R*V`0`!````+GIQ!#O)'P0``0```"]Z<00[4,0)``$````N>W$$.PD_!``! M````-'MQ!#O6XP4`$0````@(='1YW$$.^UT"0`#```` M#0T*>W$$.X"!"0"/````#1M;;1M;,C-M&ULR-&T;6THH&ULP.S,V;3DZ-#@; M6S!M*1M;,#LS,FUT86MU;QM;,#LP;1M;,&T@)2`;6TL;6S$X0R!;&ULT.S,U M;7!E<'!E7)E8RTQ+C`N-!M;,&U=&ULV-41\<00["CD&``$```!E?'$$.]OM!P`# M````"&5M?'$$.RP:"P`!````87UQ!#N_)````P````@@"'UQ!#O\&P0`!0`` M``@(92`(?7$$.ZK)!0`#````""`(?7$$.QE8"P`!````;'UQ!#N/=PP``P`` M``AL2XQ&ULP;2`@&ULP;71T>7)E8RXQ&ULP;2`@(!M;,&UT='ER96,N M:!M;,&T-"GUQ!#MKWPX``P```!M;;7UQ!#OYXPX`CP````T;6VT;6S(S;1M; M,C1M&UM**!M;,#LS-FTY.C0Y&ULP;2D;6S`[,S)M=&%K=6\;6S`[,&T;6S!M M("4@&UM+&ULQ.$,@6QM;-#LS-6UP97!P97)M:6YT&ULP.S!M.AM;,#LS,VU^ M+W=O7)E8R]T='ER96,M,2XP+C0;6S!M71M;-C5$@G$$ M.Z&)!@`!````;()Q!#L9\`8``P````AL7)E8RTQ+C`N-!M;,&U=&ULV-42)<00[D1$+``$```!EB7$$.]MH#``#```` M"&5MB7$$.^\=#@`!````88IQ!#O?4@```0```&.*<00[IVP!``$```!SBG$$ M.PW=`P`!````((IQ!#O:'0X``0```&2+<00[!&0!``$```!EBW$$.[U-`@`% M````8FEA;B^+<00[M(L&``$```!CBW$$.Y71"@`!````:(MQ!#OK,`P`#@`` M`&%N9V5L;V<;6TL;6S%#C'$$.[VQ`0`!````+8QQ!#LED04``0```&Z,<00[ MT8H&``$```!WC'$$.[.Q"``#````#0T*C'$$.SPF"P#`````&ULS-&P;6S\Q M:!L]&UL_,C5L&ULR,SLQ2!M;,VTM+2TM.BTM+48Q("`;6VT;6S,Y.S0Y;1M; M,C-M&ULS;1M;,6TJ#`R,3,N96P;6T@*&ULS-&@;6S\R-6@;6S,T;(]Q!#N,Y@$`?P```!M; M/S(U;!M;,C0[,4@I+BXN&UM+&UM(&ULS;49I;&4@161I="!/<'1I;VYS($)U M9F9E,&`$\````;6S\R-6P;6S(T.S%(&UM+&TU,;V%D:6YG(#4Q M:6EI;65C9BUI;FET("AS;W5R8V4I+BXN9&]N91M;2QM;2`H;6S,T:!M;/S(U M:!M;,S1LD'$$.]'U!@`Z````&UL_,C5L&ULR,SLQ,4AS96UI+6EN:70@*'-O M=7)C92DN+BX;6TL;6T@*&ULS-&@;6S\R-6@;6S,T;)!Q!#N/#@<`-@```!M; M/S(U;!M;,C,[.4AM86EL+6UI;64M&9A8V4M:6YI="`H"UP9W`M'`M;W!T+BXN&UM+&UM("AM;,S1H&UL_,C5H&ULS M-&R0<00[*04/`"8````;6S\R-6P;6S(S.S(R2&1O;F4;6T@*&ULS-&@;6S\R M-6@;6S,T;)%Q!#MN%0``-````!M;/S(U;!M;,C,[.4AF;VYT+6QO8VLN+BYD M;VYE&UM+&UM("AM;,S1H&UL_,C5H&ULS-&R1<00[O20``#D````;6S\R-6P; M6S(S.SE(?B]E;&ES<"]R8R]C+6UO9&4N+BYD;VYE&UM("AM;,S1H&UL_,C5H M&ULS-&R1<00[Y3$``#$````;6S\R-6P;6S(S.S(P2'-P96-I9FEC+BXN9&]N M91M;2`H;6S,T:!M;/S(U:!M;,S1LD7$$.VBA``![````&UL_,C5L&ULR-#LQ M2!M;2QM;2!M;,VU&:6QE($5D:70@3W!T:6]N2(I&UM("AM;,S1H&UL_,C5H&ULS-&R1<00[D3@%`-L````;6S\R-6P; M6S(T.S%(&ULS-VT;6S0P;49I;&4@;&]C86PM=F%R:6%B;&5S(&5R7)E8R`H,2XP+C0M,2D@=6YS=&%B;&4[('5R9V5N8WD] M;&]W("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M&ULS.3LT.6T-"AM-"AM;,S=M&ULT,&T@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`J($YE=R!U M<'-T64N;W)G/B`@1G)I+"`Q."!-87D@,C`P,2`P.3HT.#HU-B`K,#DP,"`@ M("`@("`@(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`;6S,Y.S0Y;0T*&TT*&ULS-VT;6S0P;71T M>7)E8R`H,2XP+C(M,2D@=6YS=&%B;&4[('5R9V5N8WD];&]W("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@&ULS.3LT.6T-"AM- M"AM;,S=M&ULT,&T@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`J($EN:71I86P@4F5L96%S92X@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`;6S,Y.S0Y;0T*&TV1<00["'4%`#@#```*&ULS-VT; M6S0P;2`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@&ULS.3LT M.6T-"AM-"AM;,S=M&ULT,&T@+2T@5&%K=6\@2TE404U%(#QK:71A;65`;F]R M=&AE>64N;W)G/B`@5&AU+"`@,2!-87(@,C`P,2`Q.#HT.3HQ."`K,#DP,"`@ M("`@("`@(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`;6S,Y.S0Y;0T*&TT*&ULS-VT;6S0P;4QO M8V%L('9A65S M(&]R(&YO*2`;6S,Y.S0Y;1M;,3LS,T@;6S,P;1M;-#=M36EN:6)U9B!(96QP M("`@("`@("`@(!M;;1M;,SD[-#EMDG$$.X_L"0!?````&ULV.S%(&ULS-VT; M6S0P;2`M+2`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@&ULS.3LT.6V2<00[]_8) M`#8````;6S(S.S9(&ULS-&T;6S0W;2HJ&UMM&ULS.3LT.6T;6S(T.S8T2!M; M,S1H&UL_,C5H&ULS-&R3<00[!BT``"P````;6S\R-6P;6S,T:!M;/S(U:!M; M,S1L&UL_,C5L&ULS-&@;6S\R-6@;6S,T;)-Q!#N(X@P`*0```!M;/S(U;!M; M,S=M&ULT,&UY&ULS.3LT.6T;6S,T:!M;/S(U:!M;,S1LDW$$.Q9>#0`I```` M&UL_,C5L&ULS-VT;6S0P;64;6S,Y.S0Y;1M;,S1H&UL_,C5H&ULS-&R4<00[ M*2T``%(````;6S\R-6P;6S(S.S0P2!M;,S1M&ULT-VTP&UMM&ULS.3LT.6T; M6S(T.S8V2!M;,S1H&UL_,C5H&ULS-&P;6S\R-6P;6S,T:!M;/S(U:!M;,S1L ME'$$.PG.```I````&UL_,C5L&ULS-VT;6S0P;7,;6S,Y.S0Y;1M;,S1H&UL_ M,C5H&ULS-&R4<00[J4`#`!<````;6S\R-6P-&ULS-&@;6S\R-6@;6S,T;)1Q M!#O+@`0`[`$``!M;/S(U;!M;,S=M&ULT,&T@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`;6S,Y.S0Y;1M;,3LS,T@;6S,P;1M;-#=M2&ES=&]R>2!#:&%N9V5L;V<@ M2&5L2`R,#`Q(#`Y M.C0Y.C(T("LP.3`P&ULS.3LT.6T;6S$U.S%(&ULS-VT;6S0P;6%D9"UL;V64N;W)G(AM;,SD[-#EM M#0H;6S,W;1M;-#!M16YD.B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@&ULS.3LT.6T-"AM;,S=M&ULT,&T@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@(!M;,SD[-#EM#0H;6T@*&ULS-&@;6S\R M-6@;6S,T;)1Q!#O9M@D`.0```!M;/S(U;!M;,C,[-S=(&ULS-&T;6S0W;3(; M6VT;6S,Y.S0Y;1M;2`H*&ULS-&@;6S\R-6@;6S,T;)1Q!#O><@T`.@```!M; M/S(U;!M;,C,[-S=(&ULS-&T;6S0W;3,;6VT;6S,Y.S0Y;1M;-#LQ2!M;,S1H M&UL_,C5H&ULS-&R4<00[G>8-`#H````;6S\R-6P;6S(S.SD"`#H````;6S\R-6P;6S(S M.S`P`Z````&UL_,C5L&ULR,SLW-T@;6S,T;1M;-#=M-!M;;1M; M,SD[-#EM&ULU.S%(&ULS-&@;6S\R-6@;6S,T;)=Q!#O>U`,`.@```!M;/S(U M;!M;,C,[-S=(&ULS-&T;6S0W;3,;6VT;6S,Y.S0Y;1M;-#LQ2!M;,S1H&UL_ M,C5H&ULS-&R7<00[EM\'`#D````;6S\R-6P;6S(S.S<00[_RT``#H````;6S\R-6P;6S(S M.S0P2!M;,S1M&ULT-VTT&UMM&ULS.3LT.6T;6S8[-4@;6S,T:!M;/S(U:!M; M,S1LGG$$.\QS`P`N````&UL_,C5L#1M;,S=M&ULT,&T@("H@01M;,SD[-#EM M&ULS-&@;6S\R-6@;6S,T;)YQ!#L*)`<`+P```!M;/S(U;`T;6S,W;1M;-#!M M("`J($%D&ULS.3LT.6T;6S,T:!M;/S(U:!M;,S1LGG$$.R-O"0`P````&UL_ M,C5L#1M;,S=M&ULT,&T@("H@061D&ULS.3LT.6T;6S,T:!M;/S(U:!M;,S1L MGG$$.^6!"P`Q````&UL_,C5L#1M;,S=M&ULT,&T@("H@061D91M;,SD[-#EM M&ULS-&@;6S\R-6@;6S,T;)YQ!#N$D`X`,@```!M;/S(U;`T;6S,W;1M;-#!M M("`J($%D9&5D&ULS.3LT.6T;6S,T:!M;/S(U:!M;,S1LGW$$._0M```6```` M&UL_,C5L&ULS-&@;6S\R-6@;6S,T;)]Q!#M5_`$`&0```!M;/S(U;!M;0QM; M,S1H&UL_,C5H&ULS-&R?<00[L^4*`#0````;6S\R-6P-&ULS-VT;6S0P;2`@ M*B!!9&1E9"!E&ULS.3LT.6T;6S,T:!M;/S(U:!M;,S1LGW$$.V,R#@`U```` M&UL_,C5L#1M;,S=M&ULT,&T@("H@061D960@97@;6S,Y.S0Y;1M;,S1H&UL_ M,C5H&ULS-&R@<00[32X``!8````;6S\R-6P;6S,T:!M;/S(U:!M;,S1LH'$$ M._QX`@`V````&UL_,C5L#1M;,S=M&ULT,&T@("H@061D960@97AA&ULS.3LT M.6T;6S,T:!M;/S(U:!M;,S1LH'$$.[%""P`W````&UL_,C5L#1M;,S=M&ULT M,&T@("H@061D960@97AA;1M;,SD[-#EM&ULS-&@;6S\R-6@;6S,T;*%Q!#LM M+@``%@```!M;/S(U;!M;,S1H&UL_,C5H&ULS-&RA<00[KXH``#@````;6S\R M-6P-&ULS-VT;6S0P;2`@*B!!9&1E9"!E>&%M&%M<&QE7)E8R]T='ER96,M,2XP M+C0O9&5B:6%N+V-H86YG96QO9QM;,SD[-#EM&ULV.S(P2!M;,S1H&UL_,C5H M&ULS-&P;6S\R-6P;6S(S.S9(&ULS-&T;6S0W;2TM&UMM&ULS.3LT.6T;6S8[ M,C!(&ULS-&@;6S\R-6@;6S,T;*-Q!#MG#@``40```!M;/S(U;!M;,C,[-#!( M&ULS-&T;6S0W;3D;6VT;6S,Y.S0Y;1M;-CLR,$@;6S,T:!M;/S(U:!M;,S1L M&UL_,C5L&ULS-&@;6S\R-6@;6S,T;*-Q!#NB@04`)0```!M;,C0[,4@;6TL; M6S\Q;!L^&ULS-&@;6S\R-6@;6S,Y.S0Y;0VC<00[F80%`"X````-"GIS:#H@ M7)E8RTQ M+C`N-!M;,&U=&ULV-42D<00[IK8```$```!BI'$$.S()!``#````"&)TI'$$ M.^IS!P`!````3H;6T,;6S%M=VES:&QI3H;6T-N86MA M;F]`87!M+G-E:6ME:2YA8RYJ<#L;6S$X.S5(,3,;6T-D87ES&UM#;VQD+AM; M,C`[,4BHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BL MJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*P-"@VHK*BL MJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RH MK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*RHK*BLJ*P;6S(S.S%(1&%RM<00[.*H#``,````-#0JM<00[9ZH#`"X```!; M,5T@("L@8V]N=&EN=65D("!E;6%C64N;W)G/B`@1G)I+"`Q."!-87D@,C`P,2`P.3HT.3HR-"`K,#DP,"`@ M("`@("`@(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`;6S,Y.S0Y;0T*&TT*&ULS-VT;6S0P;71T M>7)E8R`H,2XP+C(M,2D@=6YS=&%B;&4[('5R9V5N8WD];&]W("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@&ULS.3LT.6T-"AM- M"AM;,S=M&ULT,&T@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`J($EN:71I86P@4F5L96%S92X@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`;6S,Y.S0Y;0T*&TT*&ULS-VT;6S0P;2`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@&ULS.3LT.6T-"AM-"AM;,S=M M&ULT,&T@+2T@5&%K=6\@2TE404U%(#QK:71A;65`;F]R=&AE>64N;W)G/B`@ M5&AU+"`@,2!-87(@,C`P,2`Q.#HT.3HQ."`K,#DP,"`@("`@("`@(!M;,SD[ M-#EM#0H;30H;6S,W;1M;-#!M("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`;6S,Y.S0Y;0T*&TT*&ULS-VT;6S0P;2`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@&ULS.3LT.6T-"AM-"AM;,S=M&ULT,&T@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(!M;,SD[-#EM#0H; M30H;6S,W;1M;-#!M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`;6S,Y.S0Y;0T*&TT*&ULS-VT;6S0P;2`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@&ULS.3LT.6T-"AM-"AM;,S=M&ULT,&T@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@(!M;,SD[-#EM#0H;30H;6S,W M;1M;-#!M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`;6S,Y M.S0Y;0T*&TT*&ULS-VT;6S0P;2`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@&ULS.3LT.6T-"AM-"AM;,S1M&ULT-VTM14HM.BTM+48Q("`; M6VT;6S,Y.S0Y;1M;,6T;6S,T;1M;-#=M8VAA;F=E;&]G("`@&UMM&ULS.3LT M.6T;6S,T;1M;-#=M("`@6S%=,#DZ-#D@,"XS,R`@("A$96)I86X@8VAA;F=E M;&]G($5N8V]D960M:V)D*2TM3#4M+4,;6VT;6S,Y.S0Y;0T*&TT;6S8[,C!( M&ULS-&@;6S\R-6@;6S,T;*YQ!#O=+0``%@```!M;/S(U;!M;,S1H&UL_,C5H M&ULS-&RN<00[-@T#`#L````;6S\R-6P;6S(S.S7)E M8R]T='ER96,M,2XP+C0O9&5B:6%N+V-H86YG96QO9QM;,SD[-#EM&ULU.S0P M2!M;,S1H&UL_,C5H&ULS-&P;6S\R-6P;6S(S.S9(&ULS-&T;6S0W;2TM&UMM M&ULS.3LT.6T;6S4[-#!(&ULS-&@;6S\R-6@;6S,T;+9Q!#OR+0``+````!M; M/S(U;!M;,S1H&UL_,C5H&ULS-&P;6S\R-6P;6S,T:!M;/S(U:!M;,S1LMG$$ M.PR\"0!X````&UL_,C5L&ULR-#LQ2!M;,S=M&ULT,&T@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`;6S,Y.S0Y;1M;-3LT,$@;6S,T:!M;/S(U:!M;,S1LMG$$.^HL M#0"=````&UL_,C5L&ULR-#LQ2!M;,S=M&ULT,&U&:6YD(&9I;&4Z('XO=V]R M:R]D96)I86XO='1Y7)E8RTQ+C`N-"]D96)I86XO&ULS.3LT.6T; M6S$[,S-(&ULS,&T;6S0W;4UI;FEB=68@2&5L<"`@("`@("`@("`;6VT;6S,Y M.S0Y;1M;,C0[-3-(&ULS-&@;6S\R-6@;6S,T;+=Q!#M2#0``4@```!M;/S(U M;!M;,C,[-#!(&ULS-&T;6S0W;3@;6VT;6S,Y.S0Y;1M;,C0[-3-(&ULS-&@; M6S\R-6@;6S,T;!M;/S(U;!M;,S1H&UL_,C5H&ULS-&RW<00[O4X!`"D````; M6S\R-6P;6S,W;1M;-#!M;1M;,SD[-#EM&ULS-&@;6S\R-6@;6S,T;+=Q!#O) MQ0(`*0```!M;/S(U;!M;,S=M&ULT,&UA&ULS.3LT.6T;6S,T:!M;/S(U:!M; M,S1LMW$$.PCT"@`I````&UL_,C5L&ULS-VT;6S0P;6X;6S,Y.S0Y;1M;,S1H M&UL_,C5H&ULS-&RX<00[WBT``%`````;6S\R-6P;6S(S.S,T2!M;,S1M&ULT M-VTU,!M;;1M;,SD[-#EM"@D)"0@;6S,T:!M;/S(U:!M;,S1L&UL_,C5L&ULS M-&@;6S\R-6@;6S,T;+AQ!#OX^P8`*0```!M;/S(U;!M;,S=M&ULT,&UP&ULS M.3LT.6T;6S,T:!M;/S(U:!M;,S1LN'$$.V8D"``I````&UL_,C5L&ULS-VT; M6S0P;6$;6S,Y.S0Y;1M;,S1H&UL_,C5H&ULS-&RX<00[`BL,`"D````;6S\R M-6P;6S,W;1M;-#!M9QM;,SD[-#EM&ULS-&@;6S\R-6@;6S,T;+AQ!#M\@@T` M*0```!M;/S(U;!M;,S=M&ULT,&UE&ULS.3LT.6T;6S,T:!M;/S(U:!M;,S1L MN7$$.Q,N```L````&UL_,C5L&ULS-&@;6S\R-6@;6S,T;!M;/S(U;!M;,S1H M&UL_,C5H&ULS-&RY<00[&O```"D````;6S\R-6P;6S,W;1M;-#!M('`$T````;6S\R-6P;6S,W;1M;-#!M1M;,SD[-#EM&ULR,SLW-D@;6S,T M;1M;-#=M-QM;;1M;,SD[-#EM&ULR.SA(&ULS-&@;6S\R-6@;6S,T;+MQ!#O6 M.@``%@```!M;/S(U;!M;,S1H&UL_,C5H&ULS-&R[<00[;K0%`$P````;6S\R M-6P;6S,W;1M;-#!M+AM;,SD[-#EM&ULR,SLW-D@;6S,T;1M;-#=M.!M;;1M; M,SD[-#EM&UM("@D;6S,T:!M;/S(U:!M;,S1LNW$$.[=)!P!.````&UL_,C5L M&ULS-VT;6S0P;3$;6S,Y.S0Y;1M;,C,[-S9(&ULS-&T;6S0W;3D;6VT;6S,Y M.S0Y;1M;,CLQ,$@;6S,T:!M;/S(U:!M;,S1LNW$$.VRO"P`]````&UL_,C5L M&ULR,SLW,D@;6S,T;1M;-#=M,BTM0S`;6VT;6S,Y.S0Y;1M;2`H*&ULS-&@; M6S\R-6@;6S,T;+QQ!#O2+```.@```!M;/S(U;!M;,C,[,SE(&ULS-&T;6S0W M;3,T&UMM&ULS.3LT.6T;6T@*"AM;,S1H&UL_,C5H&ULS-&R\<00[G7P)`$T` M```;6S\R-6P;6S,W;1M;-#!M=!M;,SD[-#EM&ULR,SLW-D@;6S,T;1M;-#=M M,1M;;1M;,SD[-#EM&ULS.S)(&ULS-&@;6S\R-6@;6S,T;+QQ!#O$;PL`30`` M`!M;/S(U;!M;,S=M&ULT,&UT&ULS.3LT.6T;6S(S.S#@!-```` M&UL_,C5L&ULS-VT;6S0P;7D;6S,Y.S0Y;1M;,C,[-S9(&ULS-&T;6S0W;3,; M6VT;6S,Y.S0Y;1M;,SLT2!M;,S1H&UL_,C5H&ULS-&R]<00[02P``!8````; M6S\R-6P;6S,T:!M;/S(U:!M;,S1LO7$$.Q2F`@!-````&UL_,C5L&ULS-VT; M6S0P;7(;6S,Y.S0Y;1M;,C,[-S9(&ULS-&T;6S0W;30;6VT;6S,Y.S0Y;1M; M,SLU2!M;,S1H&UL_,C5H&ULS-&R]<00[JIX#`$T````;6S\R-6P;6S,W;1M; M-#!M91M;,SD[-#EM&ULR,SLW-D@;6S,T;1M;-#=M-1M;;1M;,SD[-#EM&ULS M.S9(&ULS-&@;6S\R-6@;6S,T;+UQ!#N3RP8`30```!M;/S(U;!M;,S=M&ULT M,&UC&ULS.3LT.6T;6S(S.S7)E8R]T='ER96,M M,2XP+C0O9&5B:6%N+QM;,SD[-#EM&ULQ.S,S2!M;,S!M&ULT-VU-:6YI8G5F M($AE;'`;6VT;6S,Y.S0Y;1M;,C0[-3-(&ULS-&@;6S\R-6@;6S,T;,%Q!#N+ MN@D`*0```!M;/S(U;!M;,S=M&ULT,&UC&ULS.3LT.6T;6S,T:!M;/S(U:!M; M,S1LP7$$.YAC#``I````&UL_,C5L&ULS-VT;6S0P;6\;6S,Y.S0Y;1M;,S1H M&UL_,C5H&ULS-&S!<00[GC$/`"D````;6S\R-6P;6S,W;1M;-#!M;AM;,SD[ M-#EM&ULS-&@;6S\R-6@;6S,T;,)Q!#LZ#0``+````!M;/S(U;!M;,S1H&UL_ M,C5H&ULS-&P;6S\R-6P;6S,T:!M;/S(U:!M;,S1LPG$$.^Y.!0`I````&UL_ M,C5L&ULS-VT;6S0P;70;6S,Y.S0Y;1M;,S1H&UL_,C5H&ULS-&S"<00[*DL& M`"L````;6S\R-6P;6S,W;1M;-#!MW-H;&EB6)A M8VL@=VET:"!T:&4@:6YC;'5D960@("`@&ULS.3LT.6T-"AM;,S=M&ULT,&T@ M='1Y<&QA>2!C;VUM86YD+B!T='ER96,@:7,@:G5S="!A(&1E2!P2X@("`@ M("`@("`@("`@&ULS.3LT.6T-"AM;,C,[-$@;6S,T;1M;-#=M+3HM+2U&,2`@ M&UMM&ULS.3LT.6T;6S%M&ULS-&T;6S0W;6-O;G1R;VP@("`@(!M;;1M;,SD[ M-#EM&ULS-&T;6S0W;2`@(%LQ73`Y.C4P(#`N,S`@("`H1G5N9&%M96YT86P@ M16YC;V1E9"UK8F0I+2U,,1M;;1M;,SD[-#EM&UM("AM;,S1H&UL_,C5H&ULS M-&S$<00[D2T``!8````;6S\R-6P;6S,T:!M;/S(U:!M;,S1LQ'$$.TXV!``Y M````&UL_,C5L&ULR,SLW,D@;6S,T;1M;-#=M,AM;;1M;,SD[-#EM&UM("@H; M6S,T:!M;/S(U:!M;,S1LQ'$$.R>'!@`Z````&UL_,C5L&ULR,SLW,D@;6S,T M;1M;-#=M,QM;;1M;,SD[-#EM&ULT.S%(&ULS-&@;6S\R-6@;6S,T;,1Q!#OX MF0@`.@```!M;/S(U;!M;,C,[-S)(&ULS-&T;6S0W;30;6VT;6S,Y.S0Y;1M; M-3LQ2!M;,S1H&UL_,C5H&ULS-&S$<00[.Z8*`#H````;6S\R-6P;6S(S.SHX$`$X````;6S\R-6P;6S,W;1M;-#!M+AM;,SD[-#EM&ULR,SLW-T@; M6S,T;1M;-#=M,QM;;1M;,SD[-#EM&ULW.S(T2!M;,S1H&UL_,C5H&ULS-&S+ M<00[7U<(`$X````;6S\R-6P;6S,W;1M;-#!M,!M;,SD[-#EM&ULR,SLW-T@; M6S,T;1M;-#=M-!M;;1M;,SD[-#EM&ULW.S(U2!M;,S1H&UL_,C5H&ULS-&S+ M<00[F<<*`$X````;6S\R-6P;6S,W;1M;-#!M+AM;,SD[-#EM&ULR,SLW-T@; M6S,T;1M;-#=M-1M;;1M;,SD[-#EM&ULW.S(V2!M;,S1H&UL_,C5H&ULS-&S+ M<00[\)L,`$X````;6S\R-6P;6S,W;1M;-#!M,!M;,SD[-#EM&ULR,SLW-T@; M6S,T;1M;-#=M-AM;;1M;,SD[-#EM&ULW.S(W2!M;,S1H&UL_,C5H&ULS-&S, M<00[`2X``!8````;6S\R-6P;6S,T:!M;/S(U:!M;,S1LS'$$.S"Y`@`[```` M&UL_,C5L&ULR,SLW,D@;6S,T;1M;-#=M-1M;;1M;,SD[-#EM&ULV.S(W2!M; M,S1H&UL_,C5H&ULS-&S,<00[DZ`&`#P````;6S\R-6P;6S(S.S7)E8R]T='ER96,M,2XP+C0O9&5B:6%N+V-O;G1R M;VP;6S,Y.S0Y;1M;-CLT-T@;6S,T:!M;/S(U:!M;,S1L&UL_,C5L&ULR,SLV M2!M;,S1M&ULT-VTM+1M;;1M;,SD[-#EM&ULV.S0W2!M;,S1H&UL_,C5H&ULS M-&S2<00[T0T``"P````;6S\R-6P;6S,T:!M;/S(U:!M;,S1L&UL_,C5L&ULS M-&@;6S\R-6@;6S,T;--Q!#N3-@``+````!M;/S(U;!M;,S1H&UL_,C5H&ULS M-&P;6S\R-6P;6S,T:!M;/S(U:!M;,S1LU'$$.PPO```L````&UL_,C5L&ULS M-&@;6S\R-6@;6S,T;!M;/S(U;!M;,S1H&UL_,C5H&ULS-&S5<00[7)I9VAT(#$Y.3<@=&\@,3DY.2!B>2!*;V5Y($AE@L`:@```!M; M/S(U;!M;,C0[,4@;6S,W;1M;-#!M("`@("`@("`@("`@("`@("`@("`@("`@ M&ULS.3LT.6T;6S(S.S8Y2!M;,S1M&ULT-VTR&UMM&ULS.3LT.6T;6T@*"AM; M,S1H&UL_,C5H&ULS-&S:<00[1@X``&T````;6S\R-6P;6S,T:!M;/S(U:!M; M,S1L&UL_,C5L&ULR,SLT,$@;6S,T;1M;-#=M."`@("A-86ME9FEL92!%;F-O M9&5D+6MB9"DM+4PS&UMM&ULS.3LT.6T;6S0[,4@;6S,T:!M;/S(U:!M;,S1L MVG$$.T-Y```Z````&UL_,C5L&ULR,SLV.4@;6S,T;1M;-#=M-!M;;1M;,SD[ M-#EM&ULU.S%(&ULS-&@;6S\R-6@;6S,T;-IQ!#O!_0``.@```!M;/S(U;!M; M,C,[-CE(&ULS-&T;6S0W;34;6VT;6S,Y.S0Y;1M;-CLQ2!M;,S1H&UL_,C5H M&ULS-&S:<00[XF,!`#H````;6S\R-6P;6S(S.S8Y2!M;,S1M&ULT-VTV&UMM M&ULS.3LT.6T;6S<[,4@;6S,T:!M;/S(U:!M;,S1LVG$$.Z/8`0`Z````&UL_ M,C5L&ULR,SLV.4@;6S,T;1M;-#=M-QM;;1M;,SD[-#EM&ULX.S%(&ULS-&@; M6S\R-6@;6S,T;-IQ!#MB5@(`.@```!M;/S(U;!M;,C,[-CE(&ULS-&T;6S0W M;3@;6VT;6S,Y.S0Y;1M;.3LQ2!M;,S1H&UL_,C5H&ULS-&S:<00[=L0"`#L` M```;6S\R-6P;6S(S.S8Y2!M;,S1M&ULT-VTY&UMM&ULS.3LT.6T;6S$P.S%( M&ULS-&@;6S\R-6@;6S,T;-IQ!#MI.0,`10```!M;/S(U;!M;,C,[-CE(&ULS M-&T;6S0W;3$P+2U#,"TM5&]P&UMM&ULS.3LT.6T;6S$Q.S%(&ULS-&@;6S\R M-6@;6S,T;-IQ!#O6[@<`00```!M;/S(U;!M;,C,[-CE(&ULS-&T;6S0W;3DM M+4,Q.!M;;1M;,SD[-#EM&ULQ,#LQ.4@;6S,T:!M;/S(U:!M;,S1LVW$$.Z@M M```6````&UL_,C5L&ULS-&@;6S\R-6@;6S,T;-MQ!#M,'0$`P0```!M;/S(U M;`@;6S,W;1M;-#!M(!M;,SD[-#EM&ULR,SLV2!M;,S1M&ULT-VTJ*BU&,2`@ M&UMM&ULS.3LT.6T;6S%M&ULS-&T;6S0W;7)U;&5S("`@("`@(!M;;1M;,SD[ M-#EM&ULS-&T;6S0W;2`@(%LQ73`Y.C4P(#`N,C@@("`H36%K969I;&4@16YC M;V1E9"UK8F0I+2U,.2TM0S$W&UMM&ULS.3LT.6T;6S$P.S$X2!M;,S1H&UL_ M,C5H&ULS-&S;<00[B?4+`$\````;6S\R-6P;6S,W;1M;-#!M,QM;,SD[-#EM M&ULR,SLW-$@;6S,T;1M;-#=M.!M;;1M;,SD[-#EM&ULQ,#LQ.4@;6S,T:!M; M/S(U:!M;,S1LW'$$.THM```6````&UL_,C5L&ULS-&@;6S\R-6@;6S,T;-QQ M!#NS>@``20```!M;/S(U;!M;,C,[-CE(&ULS-&T;6S0W;3$P+2U#,3"@!'````&UL_,C5L&ULR,SLW,$@;6S,T;1M;-#=M M-BTM0S`M+51O<"T;6VT;6S,Y.S0Y;0T*&ULQ-SLQ2!M;,S1H&UL_,C5H&ULS M-&S><00[PR4.`$@````;6S\R-6P;6S(S.S````&UL_,C5L#1M;,S=M&ULT,&T@("`@=75D96-O9&4@ M9&4;6S,Y.S0Y;1M;,C,[-S5(&ULS-&T;6S0W;34;6VT;6S,Y.S0Y;1M;,C$[ M,39(&ULS-&@;6S\R-6@;6S,T;.UQ!#MA:@8`7@```!M;/S(U;`T;6S,W;1M; M-#!M("`@('5U9&5C;V1E(&1E8AM;,SD[-#EM&ULR,SLW-4@;6S,T;1M;-#=M M-AM;;1M;,SD[-#EM#1M-&TT)"1M;,S1H&UL_,C5H&ULS-&SM<00[G%X(`&`` M```;6S\R-6P-&ULS-VT;6S0P;2`@("!U=61E8V]D92!D96)I&ULS.3LT.6T; M6S(S.S&"P!K````&UL_,C5L#1M;,S=M&ULT,&T@("`@=75D96-O9&4@9&5B M:6%N+W-A;7!L93$N&ULS.3LT.6T;6S(S.S1M;,SD[-#EM&ULR,SLW-4@;6S,T;1M; M-#=M,1M;;1M;,SD[-#EM&ULR,3LS,D@;6S,T:!M;/S(U:!M;,S1L]'$$.ZG[ M!P!O````&UL_,C5L#1M;,S=M&ULT,&T@("`@=75D96-O9&4@9&5B:6%N+W-A M;7!L93$N='1Y+AM;,SD[-#EM&ULR,SLW-4@;6S,T;1M;-#=M,AM;;1M;,SD[ M-#EM&ULR,3LS,T@;6S,T:!M;/S(U:!M;,S1L]'$$.R"?#`!P````&UL_,C5L M#1M;,S=M&ULT,&T@("`@=75D96-O9&4@9&5B:6%N+W-A;7!L93$N='1Y+G4; M6S,Y.S0Y;1M;,C,[-S5(&ULS-&T;6S0W;3,;6VT;6S,Y.S0Y;1M;,C$[,S1( M&ULS-&@;6S\R-6@;6S,T;/1Q!#L=D@X`<0```!M;/S(U;`T;6S,W;1M;-#!M M("`@('5U9&5C;V1E(&1E8FEA;B]S86UP;&4Q+G1T>2YU=1M;,SD[-#EM&ULR M,SLW-4@;6S,T;1M;-#=M-!M;;1M;,SD[-#EM&ULR,3LS-4@;6S,T:!M;/S(U M:!M;,S1L]7$$.Q,M```6````&UL_,C5L&ULS-&@;6S\R-6@;6S,T;/5Q!#OM M/0(`<@```!M;/S(U;`T;6S,W;1M;-#!M("`@('5U9&5C;V1E(&1E8FEA;B]S M86UP;&4Q+G1T>2YU=64;6S,Y.S0Y;1M;,C,[-S5(&ULS-&T;6S0W;34;6VT; M6S,Y.S0Y;1M;,C$[,S9(&ULS-&@;6S\R-6@;6S,T;/9Q!#O#+0``%@```!M; M/S(U;!M;,S1H&UL_,C5H&ULS-&SV<00[\M\!`$0````;6S\R-6P;6S(S.S

P(`0````!M; M/S(U;!M;,C,[-S!(&ULS-&T;6S0W;3$M+4,S&UMM&ULS.3LT.6T;6S(P.S,V M2!M;,S1H&UL_,C5H&ULS-&SW<00[$PP%`$8````;6S\R-6P;6S(S.S,%`%X````;6S\R-6P-&ULS-VT;6S0P;2`@("!R;2`M9B!S86UP;!M;,SD[ M-#EM&ULR,SLW-4@;6S,T;1M;-#=M-1M;;1M;,SD[-#EM&ULR,3LQ-D@;6S,T M:!M;/S(U:!M;,S1L^W$$.\?U!P!>````&UL_,C5L#1M;,S=M&ULT,&T@("`@ M7)E8R!T='EP;&%Y(&!P=V1@+V1E8FEA;B\D>U!!0TM! M1T5]+W5S'!E!0!M````&UL_,C5L#1M;,S=M&ULT,&T@("`@9&A?:6YS=&%L M;&5X86UP;&5S('-A;7!L93$;6S,Y.S0Y;1M;,C,[-S1(&ULS-&T;6S0W;3,P M&UMM&ULS.3LT.6T;6SD[,S%(&ULS-&@;6S\R-6@;6S,T;`ER!#L[[`<`;0`` M`!M;/S(U;`T;6S,W;1M;-#!M("`@(&1H7VEN&%M<&QE&%M<&QE M&%M<&QE&%M<&QE&%M<&QE1M;,SD[-#EM&ULR,SLW-4@;6S,T M;1M;-#=M-!M;;1M;,SD[-#EM&ULY.S,U2!M;,S1H&UL_,C5H&ULS-&P,<@0[ ML"T``#L````;6S\R-6P;6S(S.S0P2!M;,S1M&ULT-VTS&UMM&ULS.3LT.6T; M6SD[,S5(&ULS-&@;6S\R-6@;6S,T;`QR!#N^P`X`00```!M;/S(U;!M;,C,[ M-S!(&ULS-&T;6S0W;3$M+4,Q.!M;;1M;,SD[-#EM&ULQ,#LQ.4@;6S,T:!M; M/S(U:!M;,S1L#7($.PLM```6````&UL_,C5L&ULS-&@;6S\R-6@;6S,T;`UR M!#N8[@(`0P```!M;/S(U;!M;,C,[-S1(&ULS-&T;6S0W;3`M+38Q)2T;6VT; M6S,Y.S0Y;0T*&ULQ,#LQ2!M;,S1H&UL_,C5H&ULS-&P-<@0[DW$&`#L````; M6S\R-6P;6S,W;1M;-#!M("`@("`@("`@("`@("`@("`@&ULS.3LT.6T-&ULS M-&@;6S\R-6@;6S,T;`UR!#O2(@D`!0$``!M;/S(U;!M;,3LR,G(;6S$Q.S%( M&ULQ31M;,3LR-'(;6S,T:!M;/S(U:!M;,S1L&UL_,C5L&ULQ,#LQ2!M;,S=M M&ULT,&TC("`@9&A?:6YS=&%L;&5M86-S96X;6S,Y.S0Y;1M;,C([,4@;6S,W M;1M;-#!M("`@(",@66]U(&UA>2!W86YT('1O(&UA:V4@&5C=71A M8FQE2UA2!I;G-T86QL M(&-O;F9I9W5R92`@("`@("`@("`@&ULS.3LT.6T-"AM-&ULR,SLW-T@;6S,T M;1M;-#=M0F]T&UMM&ULS.3LT.6T;6S$V.S%(&ULS-&@;6S\R-6@;6S,T;!=R M!#OS+@``%@```!M;/S(U;!M;,S1H&UL_,C5H&ULS-&P8<@0[J"T``!8````; M6S\R-6P;6S,T:!M;/S(U:!M;,S1L&7($.\TM```6````&UL_,C5L&ULS-&@; M6S\R-6@;6S,T;!IR!#OU+0``%@```!M;/S(U;!M;,S1H&UL_,C5H&ULS-&P; M<@0[:"X``#P````;6S\R-6P;6S(S.S,Y2!M;,S1M&ULT-VTQ.1M;;1M;,SD[ M-#EM&ULQ-CLQ2!M;,S1H&UL_,C5H&ULS-&P;<@0[:[D#`#L````;6S\R-6P; M6S(S.S2UI;F1E<#H@8G5I;&0@:6YS=&%L;"`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@&ULS.3LT.6T- M"AM-"AM;,S=M&ULT,&TC(%=E(&AA=F4@;F]T:&EN9R!T;R!D;R!B>2!D969A M=6QT+B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@(!M;,SD[-#EM#0H;30H;6S,W;1M;-#!M("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`;6S,Y.S0Y;0T*&TT;6S(S.S7)E8R!T='EP;&%Y(&!P=V1@+V1E8FEA;B\D>U!!0TM!1T5]+W5S M2UI;F1E<#H@8G5I;&0@:6YS=&%L;!M;,SD[-#EM#0H;6S,W;1M; M-#!M(R!792!H879E(&YO=&AI;F<@=&\@9&\@8GD@9&5F875L="X;6S,Y.S0Y M;0T*&ULS-VT;6S0P;2`@("`@("`@("`@("`@(!M;,SD[-#EM#0H;6S,W;1M; M-#!M(R!"=6EL9"!AX``#L````;6S\R-6P; M6S(S.S0D`.@```!M;/S(U M;!M;,C,[-CE(&ULS-&T;6S0W;3$Y&UMM&ULS.3LT.6T;6T@*"AM;,S1H&UL_ M,C5H&ULS-&P=<@0[AN\)`#@````;6S\R-6P;6S(S.S/@P` M2@,``!M;/S(U;!M;,S=M&ULT,&U004-+04=%(#H]('1T>7)E8QM;,SD[-#EM M#0H*&ULS-VT;6S0P;6-O;F9I9W5R93H@8V]N9FEG=7)E+7-T86UP&ULS.3LT M.6T-"AM;,S=M&ULT,&UC;VYF:6=U2YU=64;6S,Y M.S0Y;0T*&ULS-VT;6S0P;2`@("`@("`@("`@("`@&ULS.3LT.6T-"AM;,S=M M&ULT,&T@("`@=&]U8V@@8G5I;&0M#P4`.@```!M;/S(U;!M; M,C,[-S!(&ULS-&T;6S0W;30;6VT;6S,Y.S0Y;1M;-CLQ2!M;,S1H&UL_,C5H M&ULS-&P><@0[,]\(`#H````;6S\R-6P;6S(S.S<@0[+ST*`#L` M```;6S\R-6P;6S(S.S7)E8R]T='ER96,M,2XP M+C0O9&5B:6%N+W)U;&5S&ULS.3LT.6T;6S(P.S%(&ULS-&@;6S\R-6@;6S,T M;!M;/S(U;!M;,C0[-C1(&ULS-VT;6S0P;2@K>"D;6S,Y.S0Y;1M;,C`[,4@; M6S,T:!M;/S(U:!M;,S1L&UL_,C5L&ULR,SLV2!M;,S1M&ULT-VTM+1M;;1M; M,SD[-#EM&ULR,#LQ2!M;,S1H&UL_,C5H&ULS-&PB<@0[]BX``"P````;6S\R M-6P;6S,T:!M;/S(U:!M;,S1L&UL_,C5L&ULS-&@;6S\R-6@;6S,T;")R!#O= M+P0`=@```!M;/S(U;`H*"@H;6S,W;1M;-#!M("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@(!M;,SD[-#EM&ULR,#LQ2!M;,S1H&UL_,C5H&ULS-&PB<@0[]^`&`($` M```;6S\R-6P;6S,T:!M;/S(U:!M;,S1L&UL_,C5L"@H*"AM;,S=M&ULT,&TH M3F\@9FEL97,@;F5E9"!S879I;F7!L87DN8QM;,&T@(!M;,&UT='ER96,N8QM;,&T-"B-R!#NO"`8`6P`` M`!M;,&U214%$344;6S!M("`@(!M;,&UI;RYC&ULP;2`@("`@&ULP;71T>7!L M87DN,1M;,&T@(!M;,&UT='ER96,N,1M;,&T@("`;6S!M='1YS!P`!````825R!#M3 M1@L`"@```&UP;&4Q+G1T>2`F<@0[J,0!``0```!D&UM+)G($.X2F!``!```` M929R!#LAI@4`!0```&)I86XO)W($.ZS4"@`&````""`(#0T*)W($.]LS"P"/ M````#1M;;1M;,C-M&ULR-&T;6THH&ULP.S,V;3DZ-3$;6S!M*1M;,#LS,FUT M86MU;QM;,#LP;1M;,&T@)2`;6TL;6S$X0R!;&ULT.S,U;7!E<'!E7)E8RTQ+C`N M-!M;,&U=&ULV-40G<@0[3F\-``$```!C)W($.\+K#0`#````"&-D*'($.V=' M`0`!````("AR!#OYA00``0```&0H<@0[]C0'``$```!E*'($.YM1"``%```` M8FEA;B\H<@0[5_P*``8````((`@-#0HH<@0[@#$+`)8````-&UMM&ULR,VT; M6S(T;1M;2B@;6S`[,S9M.3HU,1M;,&TI&ULP.S,R;71A:W5O&ULP.S!M&ULP M;2`E(!M;2QM;,3%#(%L;6S0[,S5M<&5P<&5R;6EN=!M;,#LP;3H;6S`[,S-M M?B]W;W)K+V1E8FEA;B]T='ER96,O='1Y2`M M<@0[,WP```$```!S+7($.^CW```!````82UR!#O%ZP(``0```&TM<@0[.40% M``D```!P;&4Q+G1T>2`N<@0[MPP-``$````^+G($.[O!#@`!````("]R!#OC M"0,``0```',O<@0[YB($``$```!A+W($.]J3!@`!````;2]R!#N3=P@`"0`` M`'!L93$N='1Y(#%R!#M/A`$``0````@Q<@0[X),+``$````N,G($.V$S`0`! M````=3)R!#MB90,``0```'4R<@0[I7@%``$```!E,G($.Y0X"@`#````#0T* M,G($.SV;"@"6````#1M;;1M;,C-M&ULR-&T;6THH&ULP.S,V;3DZ-3(;6S!M M*1M;,#LS,FUT86MU;QM;,#LP;1M;,&T@)2`;6TL;6S$Q0R!;&ULT.S,U;7!E M<'!E7)E8RTQ+C`N-"]D96)I86X;6S!M71M;-C5$,W($.\]7```!````8S-R!#N4 ME0```P````AC9#-R!#L!!P,``0```"`S<@0[GI\%``$````N,W($.X>J!P`! M````+C-R!#L;Z@D``P````T-"C-R!#OD[0D`CP````T;6VT;6S(S;1M;,C1M M&UM**!M;,#LS-FTY.C4R&ULP;2D;6S`[,S)M=&%K=6\;6S`[,&T;6S!M("4@ M&UM+&ULQ.$,@6QM;-#LS-6UP97!P97)M:6YT&ULP.S!M.AM;,#LS,VU^+W=O M7)E8R]T='ER96,M,2XP+C0;6S!M71M;-C5$,W($._XM M#``!````9#-R!#N-Z0P``P````AD931R!#L"40$``0```&(T<@0[;1D%``$` M``!U-'($._E_"``!````!S1R!#NDD@@``P````T-"C1R!#M-SP@`70```&5X M=&5R;F%L(&-O;6UA;F0-"AM;2F1E8G5G9G,;6S(S;2`;6S(S;2`@&ULR,VT; M6TID96)U:6QD&ULR,VT@&ULR,VT;6TH;31M-&UMM&ULR,VT;6S(T;0T;6S$T M0S1R!#L8#PD`!````!M;-$,U<@0[*1,&``$```!I-7($.UDI"``#````;&0@ M-7($.^IN"P`!````"#5R!#MZ>`L`!@````T-"AM;2C9R!#L,CP<`+0```&1P M:V64N;W)G/@T*-W($.YC/```O````9'!K9RUB=6EL9'!A8VMA9V4Z(&)U:6QD M(&%R8VAI=&5C='5R92!I0T*-W($.Y4K#``Z````(R!!9&0@:&5R92!C;VUM86YD2!@+VAO;64O=&%K=6\O=V]R:R]D96)I86XO M='1Y7)E8RTQ+C`N-"<-"C=R!#OTB@T`)P```')M("UF("HN;R!T M='ER96,@='1Y<&QA>2!T='ER96-O7)E8U\Q+C`N M-"TQ+F1I9F8N9WH-"CAR!#N!F`T`20```&1P:V2!@+VAO;64O=&%K=6\O=V]R:R]D96)I M86XO='1Y7)E8RTQ+C`N-"<-"CER!#N./P,`(P```&=C8R`M3S(@ M("`M8R`M;R!T='ER96,N;R!T='ER96,N8PT*.7($.Q`#!P`;````9V-C("U/ M,B`@("UC("UO(&EO+F\@:6\N8PT*.7($.X,H"@`A````9V-C("U/,B`M;R!T M='ER96,@='1Y7!L87DN;R!T='EP;&%Y+F,-"CIR!#MJN0``(P```&=C8R`M3S(@ M+6\@='1Y<&QA>2!T='EP;&%Y+F\@:6\N;PT*.G($.^D#`@!K````;6%K95LQ M73H@3&5A=FEN9R!D:7)E8W1O7)E8R]T='ER96,M,2XP+C0G#0IU=61E8V]D92!D96)I86XO7)E8R!T='EP;&%Y(&!P=V1@+V1E M8FEA;B]T='ER96,O=7-R+V)I;@T*.G($.RD3#P`,````9&A?=&5S=&1I<@T* M.W($.Z`N`@`-````9&A?=&5S=')O;W0-"CMR!#L/H@,`$````&1H7VEN7)E8U\Q+C`N-"TQ7VDS.#8N M9&5B(*3+I=&EPZ6QH;REN"!@='1Y:AO*6VH;RDSLCKS*FXL*3.I>VEPZ6OI/*R\KW\I+FDZZ3+I,\-"D!R!#L@ M/PH`&0```*71I;FEU:7LH;RENJ2LI*2DZJ3>I+DZ(")`<@0[%4@*`"@```!4 M86MU;R!+251!344@/'1A:W5O0&]P96YS;W5R8V4N9W(N:G`^(@T*0'($.QQ& M"P`P````,3`R-*73I<.ER$130;BP+"!)1"`U,34U,S,P0;KNP*[&_,G5I,\Q M.3DY+3`U+3(U0'($.YQ7"P`"````#0I`<@0[>6@+``(````-"D!R!#L">0L` M%````*71I;FEU:7LH;RENJ3RQO[.SSH@1'($.YZF`P`6````#2`@("`@("`@ M("`@("`@("`@("`@#41R!#O0OP,``@````T*1'($.PK?!`!*````('-I9VYF M:6QE('1T>7)E8U\Q+C`N-"TQ7VDS.#8N8VAA;F=E0!@`9````I=&EN:75I>RAO*6ZI*RDI*3JI-ZDN3H@(D1R!#NG MF08`*````%1A:W5O($M)5$%-12`\=&%K=6]`;W!E;G-O=7)C92YGRAO*6ZI/+&_L[/.B!'<@0[XG\#`!8````- M("`@("`@("`@("`@("`@("`@("`-1W($.V#>`P`"````#0I'<@0[#"<$`"L` M``!3=6-C97-S9G5L;'D@7)E8RTQ+C`N-!M;,&U=&ULV-41(<@0[5?(#``$```!F2'($.]N(!0`#```` M"&9I2'($.Y#9!P`!````;DAR!#M3$@D``0```&1(<@0[M,<+``$````'2'($ M.[39"P`#````#0T*2'($.U/["P!_````97AT97)N86P@8V]M;6%N9`T*&UM* M9FEN9!M;,C-M("`@("`@&ULR,VT@(!M;,C-M&UM*9FEN9#)P97)L&ULR,VT@ M&ULR,VT@(!M;,C-M&UM*9FEN9&%F9FEX&ULR,VT@&ULR,VT;6TH;31M-&UMM M&ULR,VT;6S(T;0T;6S$T0TAR!#OP'`P`!````!M;-$-)<@0[GP$%``$````@ M27($.[\7"``!````9$ER!#O%Q@H``0```&5)<@0[6V(,``4```!B:6%N+TIR M!#M4VP$`"@```'1T>7)E8R\;6TM*<@0[/Y0-``D````((`@-#0H;6TI*<@0[ M8=L-``\```!D96)I86XO='1Y<-`!,```!D96)I86XO='1Y M7)E8R]U0T*2G($.W). M#@`9````9&5B:6%N+W1T>7)E8R]U7)I9VAT#0I*<@0[=,,.`"T```!D96)I86XO='1Y7)E8RXQ+F=Z#0I+<@0[:Q(``"\```!D M96)I86XO='1Y7)E8R]$14))04XO<')EP#``$```!R4'($.Z&Z!@`!````95!R!#OD%`D`!@```&QE M87-E(%!R!#OL;@L``0````A0<@0[C'@+``,````-#0I1<@0[E6P+`$@```!5 M<&QO861I;F<@*'-C<&(I('1O(&9T<"UM87-T97(N9&5B:6%N+F]R9SHO;W)G M+V9T<"YD96)I86XN;W)G+VEN8V]M:6YG#0I1<@0[\8X+`#H```!;(&IO8B!T M='ER96-?,2XP+C0M,5]I,S@V(&9R;VT@='1Y;"P`L````($YE=R!D<&MG+61E=BP@86YN;W5N8V5M96YT M('=I;&P@3D]4(&)E('-E;G11<@0[=[L+``(````-"E%R!#NDV0L`&````"!T M='ER96-?,2XP+C0M,5]I,S@V+F1E8E%R!#OW%`P`"P```"P@;60U7)E8U\Q+C`N M-"TQ+F1I9F8N9WI1<@0[#U<-`)8!```L(&UD-7-U;2!O:PT*('1T>7)E8U\Q M+C`N-"TQ7VDS.#8N8VAA;F=E7)E8U\Q+C`N-"TQ M+F1S8R`P+C8@:T(@+"!O:R`H,2!S+"`P+C8Q(&M"+W,I#0H@='1Y7)E8U\Q M+C`N-"YO7)E8U\Q+C`N-"TQ+F1I9F8N("`@,"4@?"`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@?"`@("`@,"`@("`@("`M+3HM+2!%5$$-='1Y7)E8U\Q M+C`N-"TQ7VDS.#8N("`@,"4@?"`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@?"`@("`@,"`@("`@("`M+3HM+2!%5$$-='1Y7)E8R]T='ER96,M,2XP+C0; M6S!M71M;-C5$6G($.[-O!P`!````8EIR!#L6,`H``P````AB>5IR!#L?^@H` %`0```&4` ` end debian/compat0000644000000000000000000000000211341452122010357 0ustar 7 debian/README.source0000644000000000000000000000064211365430062011347 0ustar ttyrec for Debian ----------------- This package uses quilt to manage all modifications to the upstream source. Changes are stored in the source package as diffs in debian/patches and applied during the build. Please see: /usr/share/doc/quilt/README.source for more information on how to apply the patches, modify patches, or remove a patch. -- NIIBE Yutaka , Tue, 27 Apr 2010 09:30:42 +0900 debian/docs0000644000000000000000000000000710773072414010043 0ustar README debian/manpages0000644000000000000000000000003510773072414010707 0ustar ttyplay.1 ttyrec.1 ttytime.1 debian/source/0000755000000000000000000000000011365430030010461 5ustar debian/source/format0000644000000000000000000000001411341452175011677 0ustar 3.0 (quilt) debian/patches/0000755000000000000000000000000011365741326010625 5ustar debian/patches/05_WINSZ.diff0000644000000000000000000000101011365436042012661 0ustar Description: WINSZ change in ttyrec.c (getslave) Author: Adam Borowski Bug-Debian: http://bugs.debian.org/472463 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.c +++ ttyrec-1.0.8/ttyrec.c @@ -464,8 +464,9 @@ fail(); } #endif - (void) ioctl(0, TIOCGWINSZ, (char *)&win); } + (void) tcsetattr(slave, TCSAFLUSH, &tt); + (void) ioctl(slave, TIOCSWINSZ, (char *)&win); #else /* !SVR4 */ #ifndef HAVE_openpty line[strlen("/dev/")] = 't'; debian/patches/series0000644000000000000000000000046411365737144012051 0ustar 01_Makefile.diff 02_minor_cleanup.diff 03_io_h.diff 04_64-bit.diff 05_WINSZ.diff 06_pause.diff 07_ttyrec_man.diff 08_sigchld.diff 09_sigwinch.diff 10_control_tty.diff 11_sigaction.diff 12_ttyplay_fix_select.diff 13_ttyplay_fread.diff 14_ttyplay_man.diff 15_ttyrec_dont_record_query.diff 16_ttyrec_XCASE.diff debian/patches/07_ttyrec_man.diff0000644000000000000000000000071411365437152014133 0ustar Description: ttyrec manual for -e option Author: Joey Hess Bug-Debian: http://bugs.debian.org/558986 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.1 2006-06-12 00:52:50.000000000 +0900 +++ ttyrec-1.0.8/ttyrec.1 2010-04-27 10:29:26.000000000 +0900 @@ -7,7 +7,7 @@ .SH SYNOPSIS .br .B ttyrec -.I "[\-a][\-u] [file]" +.I "[\-a] [\-u] [\-e command] [file]" .br .SH DESCRIPTION .B Ttyrec debian/patches/11_sigaction.diff0000644000000000000000000000232211365467064013743 0ustar Description: Use sigaction (instead of signal) BSD semantics has SA_RESTART, which kills a part of behaviors of ttyrec. Use sigaction for better control. * doinput should be interrupted * dooutput should not be interrupted Auther: NIIBE Yutaka Suggested-By: Joey Hess Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.c 2010-04-27 12:37:27.000000000 +0900 +++ ttyrec-1.0.8/ttyrec.c 2010-04-27 12:45:18.000000000 +0900 @@ -125,6 +125,7 @@ int argc; char *argv[]; { + struct sigaction sa; extern int optind; int ch; void finish(); @@ -168,7 +169,10 @@ getmaster(); fixtty(); - (void) signal(SIGCHLD, finish); + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + sa.sa_handler = finish; + sigaction(SIGCHLD, &sa, NULL); child = fork(); if (child < 0) { perror("fork"); @@ -180,12 +184,16 @@ perror("fork"); fail(); } - if (child) + if (child) { + sa.sa_flags = SA_RESTART; + sigaction(SIGCHLD, &sa, NULL); dooutput(); - else + } else doshell(command); } - signal(SIGWINCH, resize); + sa.sa_handler = resize; + sa.sa_flags = SA_RESTART; + sigaction(SIGWINCH, &sa, NULL); doinput(); return 0; debian/patches/10_control_tty.diff0000644000000000000000000000076111365454304014340 0ustar Description: Set slave control tty Auther: NIIBE Yutaka Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.c 2010-04-27 11:16:36.000000000 +0900 +++ ttyrec-1.0.8/ttyrec.c 2010-04-27 12:16:50.000000000 +0900 @@ -463,6 +463,7 @@ } (void) tcsetattr(slave, TCSAFLUSH, &tt); (void) ioctl(slave, TIOCSWINSZ, (char *)&win); + (void) ioctl(slave, TIOCSCTTY, 0); #else /* !SVR4 */ #ifndef HAVE_openpty line[strlen("/dev/")] = 't'; debian/patches/03_io_h.diff0000644000000000000000000000062411365436053012677 0ustar Description: set_progname declaration Authors: NIIBE Yutaka Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/io.h +++ ttyrec-1.0.8/io.h @@ -9,5 +9,6 @@ int edup (int oldfd); int edup2 (int oldfd, int newfd); FILE* efdopen (int fd, const char *mode); +void set_progname (const char *name); #endif debian/patches/04_64-bit.diff0000644000000000000000000000455611365436027013000 0ustar Description: 64-bit support Authors: Adam Borowski and NIIBE Yutaka Bug-Debian: http://bugs.debian.org/154520 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/io.c +++ ttyrec-1.0.8/io.c @@ -33,6 +33,8 @@ #include #include +#include +#include #include #include #include @@ -40,50 +42,28 @@ #include "ttyrec.h" -#define SWAP_ENDIAN(val) ((unsigned int) ( \ - (((unsigned int) (val) & (unsigned int) 0x000000ffU) << 24) | \ - (((unsigned int) (val) & (unsigned int) 0x0000ff00U) << 8) | \ - (((unsigned int) (val) & (unsigned int) 0x00ff0000U) >> 8) | \ - (((unsigned int) (val) & (unsigned int) 0xff000000U) >> 24))) - -static int -is_little_endian () -{ - static int retval = -1; - - if (retval == -1) { - int n = 1; - char *p = (char *)&n; - char x[] = {1, 0, 0, 0}; - - assert(sizeof(int) == 4); - - if (memcmp(p, x, 4) == 0) { - retval = 1; - } else { - retval = 0; - } - } - - return retval; -} - -static int -convert_to_little_endian (int x) -{ - if (is_little_endian()) { - return x; - } else { - return SWAP_ENDIAN(x); - } +#define SWAP_ENDIAN(val) ((uint32_t) ( \ + (((uint32_t) (val) & (uint32_t) 0x000000ffU) << 24) | \ + (((uint32_t) (val) & (uint32_t) 0x0000ff00U) << 8) | \ + (((uint32_t) (val) & (uint32_t) 0x00ff0000U) >> 8) | \ + (((uint32_t) (val) & (uint32_t) 0xff000000U) >> 24))) + +static uint32_t +convert_to_little_endian (uint32_t x) +{ +#if BYTE_ORDER == LITTLE_ENDIAN + return x; +#else + return SWAP_ENDIAN(x); +#endif } int read_header (FILE *fp, Header *h) { - int buf[3]; + uint32_t buf[3]; - if (fread(buf, sizeof(int), 3, fp) == 0) { + if (fread(buf, sizeof(uint32_t), 3, fp) == 0) { return 0; } @@ -97,13 +77,13 @@ int write_header (FILE *fp, Header *h) { - int buf[3]; + uint32_t buf[3]; buf[0] = convert_to_little_endian(h->tv.tv_sec); buf[1] = convert_to_little_endian(h->tv.tv_usec); buf[2] = convert_to_little_endian(h->len); - if (fwrite(buf, sizeof(int), 3, fp) == 0) { + if (fwrite(buf, sizeof(uint32_t), 3, fp) == 0) { return 0; } @@ -158,4 +138,5 @@ fprintf(stderr, "%s: fdopen failed: %s\n", progname, strerror(errno)); exit(EXIT_FAILURE); } + return fp; } debian/patches/08_sigchld.diff0000644000000000000000000000115511365444337013407 0ustar Description: Don't exit at SIGCHLD handler Auther: NIIBE Yutaka Reported-By: Joey Hess Bug-Debian: http://bugs.debian.org/558992 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.c 2010-04-27 10:22:52.000000000 +0900 +++ ttyrec-1.0.8/ttyrec.c 2010-04-27 11:12:35.000000000 +0900 @@ -209,14 +209,10 @@ union wait status; #endif /* !SVR4 */ register int pid; - register int die = 0; while ((pid = wait3((int *)&status, WNOHANG, 0)) > 0) if (pid == child) - die = 1; - - if (die) - done(); + break; } struct linebuf { debian/patches/09_sigwinch.diff0000644000000000000000000000132711365460372013604 0ustar Description: Handle SIGWINCH Auther: Joey Hess Reported-By: Joey Hess Bug-Debian: http://bugs.debian.org/564777 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.c 2010-04-27 11:16:36.000000000 +0900 +++ ttyrec-1.0.8/ttyrec.c 2010-04-27 12:31:36.000000000 +0900 @@ -113,6 +113,13 @@ int aflg; int uflg; +static void +resize(int dummy) { + /* transmit window change information to the child */ + (void) ioctl(0, TIOCGWINSZ, (char *)&win); + (void) ioctl(master, TIOCSWINSZ, (char *)&win); +} + int main(argc, argv) int argc; @@ -178,6 +185,7 @@ else doshell(command); } + signal(SIGWINCH, resize); doinput(); return 0; debian/patches/13_ttyplay_fread.diff0000644000000000000000000000172311365501500014620 0ustar Description: Handle SIGWINCH Auther: Joey Hess Reported-By: Joey Hess Bug-Debian: http://bugs.debian.org/564931 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyplay.c 2010-04-27 15:22:58.000000000 +0900 +++ ttyrec-1.0.8/ttyplay.c 2010-04-27 15:23:19.000000000 +0900 @@ -151,8 +151,15 @@ int ttyread (FILE *fp, Header *h, char **buf) { + fpos_t pos; + int can_seek=0; + if (fgetpos(fp, &pos) == 0) { + can_seek=1; + } + clearerr(fp); + if (read_header(fp, h) == 0) { - return 0; + goto err; } *buf = malloc(h->len); @@ -161,9 +168,21 @@ } if (fread(*buf, 1, h->len, fp) == 0) { - perror("fread"); + goto err; } return 1; + +err: + if (ferror(fp)) { + perror("fread"); + } + else { + /* Short read. Seek back to before header, to set up for retry. */ + if (can_seek) { + fsetpos(fp, &pos); + } + } + return 0; } int debian/patches/12_ttyplay_fix_select.diff0000644000000000000000000000236711365473514015705 0ustar Description: Check return value of select Authors: NIIBE Yutaka Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyplay.c 2010-04-27 13:53:01.000000000 +0900 +++ ttyrec-1.0.8/ttyplay.c 2010-04-27 14:18:37.000000000 +0900 @@ -88,7 +88,7 @@ gettimeofday(&start, NULL); - if (speed == 0) + if (speed == 0.0) diffp = NULL; else diff = timeval_diff(drift, timeval_div(diff, speed)); @@ -97,6 +97,7 @@ diff.tv_sec = diff.tv_usec = 0; } + FD_ZERO(&readfs); FD_SET(STDIN_FILENO, &readfs); /* * We use select() for sleeping with subsecond precision. @@ -105,9 +105,10 @@ * Save "diff" since select(2) may overwrite it to {0, 0}. */ struct timeval orig_diff = diff; - select(1, &readfs, NULL, NULL, diffp); /* skip if a user hits any key */ + int r; + r = select(1, &readfs, NULL, NULL, diffp); /* skip if a user hits any key */ diff = orig_diff; /* Restore the original diff value. */ - if (FD_ISSET(0, &readfs)) { /* a user hits a character? */ + if (r > 0 && FD_ISSET(0, &readfs)) { /* a user hits a character? */ char c; read(STDIN_FILENO, &c, 1); /* drain the character */ switch (c) { debian/patches/01_Makefile.diff0000644000000000000000000000130511365447605013476 0ustar Description: Makefile change Authors: NIIBE Yutaka Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/Makefile 2006-06-12 00:52:50.000000000 +0900 +++ ttyrec-1.0.8/Makefile 2010-04-27 09:58:23.000000000 +0900 @@ -1,7 +1,10 @@ CC = gcc -CFLAGS = -O2 +DEFS= -DSVR4 -D_GNU_SOURCE +CFLAGS = -O2 -g -fomit-frame-pointer -Wall $(DEFS) VERSION = 1.0.8 +DESTDIR= + TARGET = ttyrec ttyplay ttytime DIST = ttyrec.c ttyplay.c ttyrec.h io.c io.h ttytime.c\ @@ -18,6 +21,9 @@ ttytime: ttytime.o io.o $(CC) $(CFLAGS) -o ttytime ttytime.o io.o +install: + install ttyrec ttyplay ttytime $(DESTDIR)/usr/bin + clean: rm -f *.o $(TARGET) ttyrecord *~ debian/patches/14_ttyplay_man.diff0000644000000000000000000000076211365503132014320 0ustar Description: ttyplay manual for pause button '0' Author: Joey Hess Bug-Debian: http://bugs.debian.org/564942 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyplay.1 2006-06-12 00:52:50.000000000 +0900 +++ ttyrec-1.0.8/ttyplay.1 2010-04-27 15:36:30.000000000 +0900 @@ -38,6 +38,9 @@ .BI \- " or " s halve the speed of playback. .TP +.BI 0 +set playback speed to 0, pausing playback. +.TP .BI 1 set playback to speed 1.0 again. debian/patches/02_minor_cleanup.diff0000644000000000000000000000141411365436056014614 0ustar Description: minor cleanup to stop warnings Authors: NIIBE Yutaka Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 --- ttyrec-1.0.8.orig/ttyrec.c +++ ttyrec-1.0.8/ttyrec.c @@ -325,9 +325,9 @@ (void) close(slave); if (!command) { - execl(shell, strrchr(shell, '/') + 1, "-i", 0); + execl(shell, strrchr(shell, '/') + 1, "-i", NULL); } else { - execl(shell, strrchr(shell, '/') + 1, "-c", command, 0); + execl(shell, strrchr(shell, '/') + 1, "-c", command, NULL); } perror(shell); fail(); --- ttyrec-1.0.8.orig/ttyplay.c +++ ttyrec-1.0.8/ttyplay.c @@ -252,7 +252,6 @@ FILE * input_from_stdin (void) { - FILE *fp; int fd = edup(STDIN_FILENO); edup2(STDOUT_FILENO, STDIN_FILENO); return efdopen(fd, "r"); debian/patches/06_pause.diff0000644000000000000000000000364011365436126013103 0ustar Description: pause button (Implement speed == 0.0) Author: Colin Watson Bug-Debian: http://bugs.debian.org/457488 Reviewed-By: NIIBE Yutaka Last-Update: 2010-04-27 * ttyplay.c (ttywait): Implement a case where speed == 0.0. * ttyplay.c (ttynowait): Return 1.0 (was: 0). * ttyplay.c (ttyplay): Loop until speed != 0.0. --- ttyrec-1.0.8.orig/ttyplay.c +++ ttyrec-1.0.8/ttyplay.c @@ -83,12 +83,16 @@ static struct timeval drift = {0, 0}; struct timeval start; struct timeval diff = timeval_diff(prev, cur); + struct timeval *diffp = &diff; fd_set readfs; gettimeofday(&start, NULL); - assert(speed != 0); - diff = timeval_diff(drift, timeval_div(diff, speed)); + if (speed == 0) + diffp = NULL; + else + diff = timeval_diff(drift, timeval_div(diff, speed)); + if (diff.tv_sec < 0) { diff.tv_sec = diff.tv_usec = 0; } @@ -101,7 +105,7 @@ * Save "diff" since select(2) may overwrite it to {0, 0}. */ struct timeval orig_diff = diff; - select(1, &readfs, NULL, NULL, &diff); + select(1, &readfs, NULL, NULL, diffp); /* skip if a user hits any key */ diff = orig_diff; /* Restore the original diff value. */ if (FD_ISSET(0, &readfs)) { /* a user hits a character? */ char c; @@ -118,6 +122,9 @@ case '1': speed = 1.0; break; + case '0': + speed = 0.0; + break; } drift.tv_sec = drift.tv_usec = 0; } else { @@ -136,7 +143,7 @@ ttynowait (struct timeval prev, struct timeval cur, double speed) { /* do nothing */ - return 0; /* Speed isn't important. */ + return 1.0; /* Speed isn't important. */ } int @@ -202,7 +209,9 @@ } if (!first_time) { - speed = wait_func(prev, h.tv, speed); + do { + speed = wait_func(prev, h.tv, speed); + } while (speed == 0.0); } first_time = 0; debian/patches/15_ttyrec_dont_record_query.diff0000644000000000000000000000230611365741244017105 0ustar Description: Don't record query to the terminal into record Author: NIIBE Yutaka Bug-Debian: http://bugs.debian.org/579388 Last-Update: 2010-04-28 --- ttyrec-1.0.8.orig/ttyrec.c +++ ttyrec-1.0.8/ttyrec.c @@ -262,8 +262,8 @@ } } -void -check_output(const char *str, int len) +static void +uu_check_output(const char *str, int len) { static struct linebuf lbuf = {"", 0}; int i; @@ -288,6 +288,23 @@ } } +static int +check_output(char *str, int len) +{ + char *p; + + /* If we see query string, remove it */ + /* ESC [ > 0 c : Send Device Attributes */ + if (len >= 5 && (p = strstr(str, "\e[>0c")) != NULL) { + if (len == 5) + return 0; + memmove(p, p+5, len-5+1-(p-str)); + return len-5; + } + + return len; +} + void dooutput() { @@ -306,12 +323,14 @@ if (cc <= 0) break; if (uflg) - check_output(obuf, cc); + uu_check_output(obuf, cc); h.len = cc; gettimeofday(&h.tv, NULL); (void) write(1, obuf, cc); - (void) write_header(fscript, &h); - (void) fwrite(obuf, 1, cc, fscript); + if ((cc = check_output(obuf, cc))) { + (void) write_header(fscript, &h); + (void) fwrite(obuf, 1, cc, fscript); + } } done(); } debian/patches/16_ttyrec_XCASE.diff0000644000000000000000000000065611365735713014234 0ustar Description: Workaround no XCASE Author: NIIBE Yutaka Last-Update: 2010-04-28 --- ttyrec-1.0.8.orig/ttyrec.c 2010-04-28 13:31:22.000000000 +0900 +++ ttyrec-1.0.8/ttyrec.c 2010-04-28 13:36:49.000000000 +0900 @@ -352,6 +352,9 @@ rtt = tt; #if defined(SVR4) +#if !defined(XCASE) +#define XCASE 0 +#endif rtt.c_iflag = 0; rtt.c_lflag &= ~(ISIG|ICANON|XCASE|ECHO|ECHOE|ECHOK|ECHONL); rtt.c_oflag = OPOST; debian/dirs0000644000000000000000000000001010773072414010046 0ustar usr/bin debian/examples0000644000000000000000000000001411365434626010734 0ustar sample1.tty