亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? infcodes.java

?? java 版本的zlib壓縮代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* -*-mode:java; c-basic-offset:2; -*- *//*Copyright (c) 2000,2001,2002,2003 ymnk, JCraft,Inc. All rights reserved.Redistribution and use in source and binary forms, with or withoutmodification, 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. The names of the authors may not be used to endorse or promote products     derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY ANDFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *//* * This program is based on zlib-1.1.3, so all credit should go authors * Jean-loup Gailly(jloup@gzip.org) and Mark Adler(madler@alumni.caltech.edu) * and contributors of zlib. */package com.jcraft.jzlib;final class InfCodes{  static final private int[] inflate_mask = {    0x00000000, 0x00000001, 0x00000003, 0x00000007, 0x0000000f,    0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, 0x000001ff,    0x000003ff, 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff,    0x00007fff, 0x0000ffff  };  static final private int Z_OK=0;  static final private int Z_STREAM_END=1;  static final private int Z_NEED_DICT=2;  static final private int Z_ERRNO=-1;  static final private int Z_STREAM_ERROR=-2;  static final private int Z_DATA_ERROR=-3;  static final private int Z_MEM_ERROR=-4;  static final private int Z_BUF_ERROR=-5;  static final private int Z_VERSION_ERROR=-6;  // waiting for "i:"=input,  //             "o:"=output,  //             "x:"=nothing  static final private int START=0;  // x: set up for LEN  static final private int LEN=1;    // i: get length/literal/eob next  static final private int LENEXT=2; // i: getting length extra (have base)  static final private int DIST=3;   // i: get distance next  static final private int DISTEXT=4;// i: getting distance extra  static final private int COPY=5;   // o: copying bytes in window, waiting for space  static final private int LIT=6;    // o: got literal, waiting for output space  static final private int WASH=7;   // o: got eob, possibly still output waiting  static final private int END=8;    // x: got eob and all data flushed  static final private int BADCODE=9;// x: got error  int mode;      // current inflate_codes mode  // mode dependent information  int len;  int[] tree; // pointer into tree  int tree_index=0;  int need;   // bits needed  int lit;  // if EXT or COPY, where and how much  int get;              // bits to get for extra  int dist;             // distance back to copy from  byte lbits;           // ltree bits decoded per branch  byte dbits;           // dtree bits decoder per branch  int[] ltree;          // literal/length/eob tree  int ltree_index;      // literal/length/eob tree  int[] dtree;          // distance tree  int dtree_index;      // distance tree  InfCodes(){  }  void init(int bl, int bd,	   int[] tl, int tl_index,	   int[] td, int td_index, ZStream z){    mode=START;    lbits=(byte)bl;    dbits=(byte)bd;    ltree=tl;    ltree_index=tl_index;    dtree = td;    dtree_index=td_index;    tree=null;  }  int proc(InfBlocks s, ZStream z, int r){     int j;              // temporary storage    int[] t;            // temporary pointer    int tindex;         // temporary pointer    int e;              // extra bits or operation    int b=0;            // bit buffer    int k=0;            // bits in bit buffer    int p=0;            // input data pointer    int n;              // bytes available there    int q;              // output window write pointer    int m;              // bytes to end of window or read pointer    int f;              // pointer to copy strings from    // copy input/output information to locals (UPDATE macro restores)    p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;    q=s.write;m=q<s.read?s.read-q-1:s.end-q;    // process input and output based on current state    while (true){      switch (mode){	// waiting for "i:"=input, "o:"=output, "x:"=nothing      case START:         // x: set up for LEN	if (m >= 258 && n >= 10){	  s.bitb=b;s.bitk=k;	  z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	  s.write=q;	  r = inflate_fast(lbits, dbits, 			   ltree, ltree_index, 			   dtree, dtree_index,			   s, z);	  p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;	  q=s.write;m=q<s.read?s.read-q-1:s.end-q;	  if (r != Z_OK){	    mode = r == Z_STREAM_END ? WASH : BADCODE;	    break;	  }	}	need = lbits;	tree = ltree;	tree_index=ltree_index;	mode = LEN;      case LEN:           // i: get length/literal/eob next	j = need;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--;	  b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	tindex=(tree_index+(b&inflate_mask[j]))*3;	b>>>=(tree[tindex+1]);	k-=(tree[tindex+1]);	e=tree[tindex];	if(e == 0){               // literal	  lit = tree[tindex+2];	  mode = LIT;	  break;	}	if((e & 16)!=0 ){          // length	  get = e & 15;	  len = tree[tindex+2];	  mode = LENEXT;	  break;	}	if ((e & 64) == 0){        // next table	  need = e;	  tree_index = tindex/3+tree[tindex+2];	  break;	}	if ((e & 32)!=0){               // end of block	  mode = WASH;	  break;	}	mode = BADCODE;        // invalid code	z.msg = "invalid literal/length code";	r = Z_DATA_ERROR;	s.bitb=b;s.bitk=k;	z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	s.write=q;	return s.inflate_flush(z,r);      case LENEXT:        // i: getting length extra (have base)	j = get;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--; b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	len += (b & inflate_mask[j]);	b>>=j;	k-=j;	need = dbits;	tree = dtree;	tree_index=dtree_index;	mode = DIST;      case DIST:          // i: get distance next	j = need;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--; b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	tindex=(tree_index+(b & inflate_mask[j]))*3;	b>>=tree[tindex+1];	k-=tree[tindex+1];	e = (tree[tindex]);	if((e & 16)!=0){               // distance	  get = e & 15;	  dist = tree[tindex+2];	  mode = DISTEXT;	  break;	}	if ((e & 64) == 0){        // next table	  need = e;	  tree_index = tindex/3 + tree[tindex+2];	  break;	}	mode = BADCODE;        // invalid code	z.msg = "invalid distance code";	r = Z_DATA_ERROR;	s.bitb=b;s.bitk=k;	z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	s.write=q;	return s.inflate_flush(z,r);      case DISTEXT:       // i: getting distance extra	j = get;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--; b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	dist += (b & inflate_mask[j]);	b>>=j;	k-=j;	mode = COPY;      case COPY:          // o: copying bytes in window, waiting for space        f = q - dist;        while(f < 0){     // modulo window size-"while" instead          f += s.end;     // of "if" handles invalid distances	}	while (len!=0){	  if(m==0){	    if(q==s.end&&s.read!=0){q=0;m=q<s.read?s.read-q-1:s.end-q;}	    if(m==0){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网站在线播放| 亚洲美女屁股眼交| 成人午夜av电影| 亚洲人成小说网站色在线 | 国产精品久久久久aaaa樱花| 国产91丝袜在线18| 亚洲一区视频在线| 91精品福利在线一区二区三区 | 亚洲资源中文字幕| 日韩欧美成人一区| 欧美亚洲一区三区| 免费在线观看日韩欧美| 国产精品久久久久久久浪潮网站| 91精品办公室少妇高潮对白| 久久精品国产网站| 亚洲va国产天堂va久久en| 国产亚洲成av人在线观看导航 | 欧美日韩黄色影视| aa级大片欧美| 福利电影一区二区三区| 美洲天堂一区二卡三卡四卡视频| 欧美国产精品一区| 日韩欧美www| 欧美成人精品1314www| 色婷婷激情综合| 成人午夜激情影院| 丰满少妇在线播放bd日韩电影| 日韩高清在线一区| 图片区小说区区亚洲影院| 亚洲精品一二三四区| 亚洲免费观看视频| 亚洲人成电影网站色mp4| 亚洲欧美在线观看| 亚洲欧美另类久久久精品2019| 国产精品麻豆一区二区| 亚洲色图在线看| 国产一区二区网址| 日本午夜精品一区二区三区电影 | 夜夜嗨av一区二区三区四季av| 最新欧美精品一区二区三区| 一片黄亚洲嫩模| 免费av成人在线| 北条麻妃国产九九精品视频| 欧美性猛交xxxxxxxx| 欧美精品一区二| 一区二区三区美女| 国产精品综合二区| 欧美体内she精高潮| 久久久精品免费免费| 玉米视频成人免费看| 国产乱码精品1区2区3区| 欧美三片在线视频观看| 国产精品久久久久国产精品日日| 亚洲成人av电影| 91国内精品野花午夜精品| 久久人人超碰精品| 国产一区二区三区四区五区美女| 成人免费毛片嘿嘿连载视频| 日韩视频一区二区三区在线播放| 国产精品麻豆一区二区| 国产电影一区二区三区| 日韩三区在线观看| 日产国产欧美视频一区精品| 色综合天天综合网国产成人综合天 | 色先锋aa成人| 成人免费视频在线观看| 91视频国产资源| 亚洲人成在线播放网站岛国| 91网站最新地址| 亚洲精品亚洲人成人网| 91丝袜美女网| 自拍av一区二区三区| 欧美主播一区二区三区| 亚洲成人av免费| 91在线观看下载| 亚洲人成精品久久久久久| 久久亚洲综合色一区二区三区| 亚洲第一福利一区| 欧美猛男男办公室激情| 黑人巨大精品欧美一区| 久久久久高清精品| 色综合久久99| 久久精品国产久精国产| 中文字幕乱码日本亚洲一区二区 | 久久国产综合精品| 国产精品久久综合| 欧美另类变人与禽xxxxx| 激情图区综合网| 国产精品久久久久aaaa| 日韩视频一区二区三区在线播放| 国产精品99久久久久久宅男| 一区二区三区免费在线观看| 日韩欧美成人激情| 在线亚洲+欧美+日本专区| 毛片av中文字幕一区二区| 国产精品久久久久国产精品日日| 欧美电影在线免费观看| www.亚洲免费av| 丰满亚洲少妇av| 亚洲精品日日夜夜| 国产欧美视频一区二区三区| 欧美乱熟臀69xxxxxx| 欧美videofree性高清杂交| 色综合天天性综合| 丁香网亚洲国际| 成人va在线观看| 大胆欧美人体老妇| 成人免费视频caoporn| 成人免费视频视频| 91丨九色丨蝌蚪丨老版| 91视频www| 欧美日韩mp4| 欧美成人精品二区三区99精品| 欧美精品 日韩| 精品久久久三级丝袜| 国产香蕉久久精品综合网| 国产女人18水真多18精品一级做| 精品国产乱码久久久久久牛牛| 日韩女优av电影在线观看| 精品国产3级a| ●精品国产综合乱码久久久久| 中文字幕中文在线不卡住| 夜夜精品视频一区二区| 婷婷夜色潮精品综合在线| 精品影视av免费| a亚洲天堂av| 91麻豆精品国产91久久久使用方法 | 三级在线观看一区二区| 国产在线视频精品一区| 91福利精品视频| 26uuu亚洲综合色| 亚洲五码中文字幕| 国产很黄免费观看久久| 69p69国产精品| 亚洲丝袜美腿综合| 国产资源在线一区| 欧美日精品一区视频| 中文字幕在线观看不卡| 裸体歌舞表演一区二区| 欧美日韩在线三级| 亚洲视频一二区| 懂色av中文一区二区三区| 欧美一级免费观看| 亚洲妇女屁股眼交7| 91视频你懂的| 国产精品国产三级国产三级人妇| 韩国女主播成人在线观看| 欧美狂野另类xxxxoooo| 亚洲成在人线免费| 欧美亚洲国产bt| 亚洲欧美另类久久久精品2019| 成人久久久精品乱码一区二区三区| 欧美一区二区大片| 麻豆91精品视频| 日韩视频免费直播| 国产在线精品免费av| 欧美一二区视频| 国产麻豆成人精品| 国产欧美精品区一区二区三区| www.日本不卡| 首页综合国产亚洲丝袜| 欧美一区二区视频在线观看| 日韩1区2区日韩1区2区| 久久女同精品一区二区| 国产成人99久久亚洲综合精品| 中文av一区二区| 欧美日韩一区二区欧美激情| 蜜桃在线一区二区三区| 国产一区二区在线看| 在线观看91av| 久久国产精品露脸对白| 日韩欧美国产系列| caoporm超碰国产精品| 亚洲gay无套男同| 国产欧美精品国产国产专区| 在线视频国内自拍亚洲视频| 日韩精品免费专区| 国产亚洲欧美日韩日本| 91日韩一区二区三区| 精品在线观看视频| 石原莉奈一区二区三区在线观看| 精品国产免费视频| 9191久久久久久久久久久| 成人亚洲精品久久久久软件| 亚洲国产另类av| 亚洲欧美日韩在线不卡| 国产亚洲午夜高清国产拍精品| 欧美三级中文字幕在线观看| 国产成人精品免费在线| 黄色资源网久久资源365| 亚洲一区二区三区三| 亚洲日本一区二区| 欧美经典一区二区| 国产欧美日韩激情| 精品少妇一区二区三区| 欧美人牲a欧美精品| 欧美三级三级三级爽爽爽| 欧美在线999| 欧美精品久久一区二区三区| 日本韩国欧美在线|