/* decompress.c - Don Yang (uguu.org) 04/26/08 */ /*@ -aliasunique @*/ #include #include /* Initial dictionary */ static const char InitDict[] = "/)(b9`.d,'P\n\"o8 "; /* Compressed data */ static char *Data = "$$%%''++%%7$$$;$30L$3$O$I$L$%$W$>(-%$$%%B.?%1$^0$?$+&^:$^<$C$-'^" "=$-&M%C+@$[&@'1)?&9)^+%^L%%%R%+%W%,'R(^3'E+_/0^:$^-%^/./&^T$Z&V&" "_*(Y%^,($$`F$_X)^,9^0)Y%H$Y$`6(^:'''5%R$^/&<%V;^#*`Q%[%61^#%^.%X" "Aa#'aH&bN3ZE`:&^Z%bI/((`/%`P;$`9'^'3aF%gQ" ",`('j6/`*1?&`K&^B&^'.b56d:1_S1a31^'2G-3+k5'bM%^'H2+m/&`N-bP+^9*^" "&,cJ(^&3^$%a8%^[%b(&h*6_)._W11'c;&b9(l<%f<&^%4_:%e?21-i:*bB;^$/^" "R%dO(q@3lW;iH.`K(mPBbA+_?$lM/f1%^#HgT'nM0q&'oND^U%X1^Y&i5&[>`[&^%%}O(oS2l-%t:>{<'_Y&m=(^&46%b9+{T;kQ" "+}[6a@'n%.b" "/&@'^($^d:%N%d)(^^7&zJ'^b7(^4,aS'qJ-z5+h<'aA+`6&xD'^2(e;+sK*o&2^" "b''iQ5t>+^b,+^eI*<+vC'^20a-&^X&t?57,^_&+a>)d7&H)_#$r?&^0)oX'^]=&" "vE-a9&_A(^D&^/,oO(bH*eB(^0(W%o8&^)(}(0l3)^]8)dQ-}6-^`;)^[)lG&pQ(" "c4'wU1^_A/^4&eW/^5*^Z)mP,cU(^,/d5+fY<{:*^`H/_51^]KC|B+^,=fS-d>&b" "'/e9+~B4}B3`L&gP+t'6`T+_31`11i-0c-.dL+rE6u80iJ)k5,y#)c)&~Q:g-*tC" "9d%7mH&rU4^lMCq#.l0%^(2^mQDh80r&&^*1^))tD(^n#AaB%i0(,%^+1dR%^jD(" "l5)q<(|I6^uW'nZ*~(/^o)*mD)^+&aZ&iL'^vI)jM2bX&^x90^n;+^qA&v7-cA,^" "b*0^p;-^_O5y7aX&d(3L;hO*{V4k)/o?)i%/a:&aU(Y7^r@(b+%{8(gS0p" "J(^cK){N2b[+l4,eV-^}U(jK+{J2^e9(^vA=n5&f-%rR'_Y&^wE1^~D;^^3+vO.x" "E(^b:&^&*f2&iSAm=&g[.z-'k$+f6&^w>-}K=a:,o$'qF)_&&mS/`2?q//fR(^&(" "oU)kU2Q&61^cG,s<'^''^&)^a=&^e@'^e(4^gX(^8.s/*^'+u7)9)^v53_aN-u<2" "^'*mU(cI'h((c>2{@'^$-t0.^'&mN&^'$dQ,b2,^{5)cQ*u(3`0**&c:&0)_hN$$" "$$$d/7_h.)_@.__P+Y&`-&zZ@k4'^]R,a1.*&i<%^%0`S0_]W<*(a-'^l10n$(qT" ")aD*`C1_`P(_&'^$'yJ2gJ+^j@:`3(*$^@%xK'^x,qL3o)(fE&|-(^&9gQ@^C)_^;2^%E^a,+_^>4^%Fi;'_^" "A6^%F_]N7bT'zT1|3(^^5'cW%^rA1_q:,nF'cC&s3'~=-xT/k+*n.'l=+u*4f,(^" "b9&^+*_gD(wY)_:-^f&1oE(C-^aO(_^I&_R)^*&^oT)_]>)^v-(B$_xY8^]-(^]B" ")bX-x*(q2._`N)^n'A_M'vA1^1%~Y&^_&.^hH)|NBwR7^`W(^_=1~&FnH1n5)k5(" "b@'^a84_^*?66_qT&^<&^^B&bF)*$^e63^kH+^jCBkD/cF&^iI,`b&0^m%/^tUCb" "#-cE1n'1}5*~6;_O7^l-2^fJ+a?%v7H^*1yV(kB(__J&e33_~C-`)0`^@4^_K7sN" "*e%5^*0W)^_N7e(&3$_^1%_mQ6^*0}1+|<-T,^j,(k3'^,2^*0`2'~2%%%~6-k?," "^E+_|P5^*/_m+=_o>*^w.&cM>^G-^iG,`',p>(g&2c?(_r-8b6&p+,f)?^{S1_p@" "7~F.aZ1fL(_],1a>7^kZ= 93; ++*cursor) number = number * 34 + (int)**cursor - 93; number = number * 57 + (int)**cursor - 35; ++*cursor; return number; } int main(void) { char output[0x10000]; char *r, *w; int offset, size; strcpy(output, InitDict); w = output + sizeof(InitDict) - 1; for(r = Data; *r != '\0';) { offset = Decode(&r); size = Decode(&r); memcpy(w, w - offset, (size_t)size); w += size; } *w = '\0'; (void)puts(output + sizeof(InitDict) - 1); return 0; }