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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vclunzip.pas

?? FIR引擎最新源碼+注冊
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{ ********************************************************************************** }
{                                                                                    }
{   COPYRIGHT 1997 Kevin Boylan                                                    }
{     Source File: VCLUnZip.pas                                                      }
{     Description: VCLUnZip component - native Delphi unzip component.               }
{     Date:        March 1997                                                        }
{     Author:      Kevin Boylan, vclzip@bigfoot.com                                 }
{                                                                                    }
{                                                                                    }
{ ********************************************************************************** }
unit VCLUnZip;

{$P-}                                                   { turn off open parameters }
{$R-}                                                   { 3/10/98 2.03 }
{$Q-}                                                   { 3/10/98 2.03 }
{$B-} { turn off complete boolean eval }                { 12/24/98  2.17 }

{$I KPDEFS.INC}

interface

uses
   {$IFDEF WIN32}
   Windows,
   {$ELSE}
   WinTypes, WinProcs,
   {$ENDIF}
   {$IFNDEF INT64STREAMS}
   kphstrms,
   {$ENDIF}
   SysUtils, Classes,
   kpSmall,
{$IFNDEF KPSMALL}
   Controls, Forms, Dialogs, FileCtrl,
{$ENDIF}
   kpCntn, kpMatch, KpLib, kpZipObj, kpzcnst;

{$I kpZTypes.Pas}

const
   kpThisVersion         = 305; {added this constant 3/1/98 for version 2.03}
   kpThisBuild           = 1;
   {$IFNDEF ZLIB114}
    ZLIB_VERSION         = '1.2.2';
   {$ELSE}
    ZLIB_VERSION         = '1.1.4';
   {$ENDIF}

   {$IFDEF WIN32}
   DEF_BUFSTREAMSIZE      = 8192;   { Changed back to 8192 7/20/01  2.21+ }
   {$ELSE}                          { Larger values can cause memory problems }
   DEF_BUFSTREAMSIZE      = 8192;   { Changed back to 8192 7/20/01  2.21+ }
   {$ENDIF}

type

   TMultiMode = (mmNone, mmSpan, mmBlocks);
   TIncompleteZipMode = (izAssumeMulti, izAssumeBad, izAssumeNotAZip);
   TUZOverwriteMode = (Prompt, Always, Never, ifNewer, ifOlder);  { added ifNewer,ifOlder 8/2/98  2.14 }
   TSkipReason = (srBadPassword, srNoOverwrite, srFileOpenError, srCreateError, srExcludeList, srArchiveBitNotSet,srNoFileToFreshen,srSkippedInStartZip);
   TSplitPartType = (spFirst, spMiddle, spLast);
   TOperationMode = (omZip, omUnZip, omNone);
   TBlockMode = (bmStandard, bmClassic);

   {Decryption}

   DecryptKey = array[0..2] of LongInt;
   DecryptHeaderPtr = ^DecryptHeaderType;
   DecryptHeaderType = array[0..11] of BYTE;

   { Exceptions }
   EVCLZipException = class(Exception);                         { 6/25/03 3.02 }
   EBadZipFile = class(EVCLZipException);
   EFileNotAllThere = class(EVCLZipException);
   EIncompleteZip = class(EVCLZipException);
   ENotAZipFile = class(EVCLZipException);
   EFatalUnzipError = class(EVCLZipException);
   EUserCanceled = class(EVCLZipException);
   EInvalidPassword = class(EVCLZipException);
   EBiggerThanUncompressed = class(EVCLZipException);          { 4/16/98 2.11 }
   ENotEnoughRoom = class(EVCLZipException);
   ECantWriteUCF = class(EVCLZipException);
   ECanceledUnzipToBuffer = class(EVCLZipException);
   EConfigFileSaveError = class(EVCLZipException);


   { Event types }

   TStartUnzipInfo = procedure(Sender: TObject; NumFiles: Integer;
      TotalBytes: Comp; var StopNow: Boolean) of object;
   TStartUnZipEvent = procedure(Sender: TObject; FileIndex: Integer;
      var FName: string; var Skip: Boolean) of object;
   TEndUnZipEvent = procedure(Sender: TObject; FileIndex: Integer; FName: string) of object;
   TFilePercentDone = procedure(Sender: TObject; Percent: LongInt) of object;
   TTotalPercentDone = procedure(Sender: TObject; Percent: LongInt) of object;
   TPromptForOverwrite = procedure(Sender: TObject; var OverWriteIt: Boolean;
      FileIndex: Integer; var FName: string) of object;
   TSkippingFile = procedure(Sender: TObject; Reason: TSkipReason; FName: string;
      FileIndex: Integer; var Retry: Boolean) of object;
   TBadPassword = procedure(Sender: TObject; FileIndex: Integer; var NewPassword: string) of
      object;
   TBadCRC = procedure(Sender: TObject; CalcCRC, StoredCRC: LongInt;
      FileIndex: Integer) of object;
   TIncompleteZip = procedure(Sender: TObject; var IncompleteMode: TIncompleteZipMode) of
      object;
   TGetNextDisk = procedure(Sender: TObject; NextDisk: Integer; var FName: string) of object;
   TUnZipComplete = procedure(sender: TObject; FileCount: Integer) of object;
   TGetNextBuffer = procedure(Sender: TObject; var Buffer: PChar; FName: string; AmountUsed:
      LongInt;
      BufferNum: Integer; var Quit: Boolean) of object;
   TDecryptEvent = procedure(Sender: TObject; buffer: BytePtr; length: Integer;
                             Password: String ) of object;
   TFileNameForSplitPartEvent = procedure(Sender: TObject; var FName: String; PartNum: Integer;
                SplitType: TSplitPartType) of object;
   THandleMessageEvent = procedure(Sender: TObject; const MessageID: Integer; const Msg1: String; const Msg2: String; const flags: LongWord; var Return: Integer) of Object;

   {$IFNDEF WIN32}
   DWORD = LongInt;
   {$ENDIF}

   TVCLUnZip = class(TComponent)
   PRIVATE
      { Private declarations }
      FZipName: string;
      FDestDir: string;
      FSortMode: TZipSortMode;
      FReCreateDir: Boolean;
      FOverwriteMode: TUZOverwriteMode;
      FFilesList: TStrings;
      FDoAll: Boolean;
      FPassword: string;
      FIncompleteZipMode: TIncompleteZipMode;
      FKeepZipOpen: Boolean;
      FDoProcessMessages: Boolean;
      FNumDisks: Integer;
      FRetainAttributes: Boolean;
      FThisVersion: Integer;
      FThisBuild: Integer;
      FReplaceReadOnly: Boolean;
      FNumSelected: Integer;
      FBufferLength: LongInt;                           { 8/23/99  2.18+ }
      FImproperZip: Boolean;                            { 2/19/00  2.20+ }
      FEncryptBeforeCompress: Boolean;                  { 12/9/01 2.22+ }
      FOEMConvert: TOEMConvert;                             { 2/17/02 2.22+ }

      { Event variables }
      FOnStartUnzipInfo: TStartUnzipInfo;
      FOnStartUnZip: TStartUnZipEvent;
      FOnEndUnZip: TEndUnZipEvent;
      FOnPromptForOverwrite: TPromptForOverwrite;
      FOnBadPassword: TBadPassword;
      FOnBadCRC: TBadCRC;
      FOnInCompleteZip: TInCompleteZip;
      FOnUnzipComplete: TUnZipComplete;
      FOnGetNextBuffer: TGetNextBuffer;
      FOnDecrypt: TDecryptEvent;

      function ProcessIntegrityCheck(Index: Integer): Boolean; { 8/15/99 2.18+ }

      { Decrypt }
   PROTECTED
      FOnFilePercentDone: TFilePercentDone;
      FOnTotalPercentDone: TTotalPercentDone;
      FOnSkippingFile: TSkippingFile;
      FOnGetNextDisk: TGetNextDisk;
      FOnFileNameForSplitPart: TFileNameForSplitPartEvent;
      FOnHandleMessage: THandleMessageEvent;
      FArchiveStream: TkpStream;
      FArchiveTStream: TStream;
      FOperationMode: TOperationMode;
      FBlockMode: TBlockMode;
      FBusy: Boolean;
      FRootDir: string;
      FRelativePathList: TStrings;
      FTestMode: Boolean;                               { 12/3/98  2.17P+ }
      FFlushFilesOnClose: Boolean;                      { 10/11/99 2.18+ }
      FBufferedStreamSize: Integer;                    { 05/13/00 2.20+ }
      ArchiveIsStream: Boolean;
      FCheckDiskLabels: Boolean;
      FMultiMode: TMultiMode;
      file_info: TZipHeaderInfo;
      files: TSortedZip;
      sortfiles: TSortedZip;
      filesDate: TDateTime;
      ZipIsBad: Boolean;
      CurrentDisk: LongWord;
      theZipFile: TkpStream;
      Crc32Val: U_LONG;
      lrec: local_file_header;
      {crec: central_file_header;}                      { Removed 4/22/02 2.23+ }
      ecrec: TEndCentral;
      ZipCommentPos: BIGINT;
      UnZippingSelected: Boolean;                       { 6/27/99 2.18+ }

      tmpMStr: string;
      Key: DecryptKey;
      CancelOperation: Boolean;
      PauseOperation: Boolean;
      ZipStream: TkpStream;
      StreamZipping: Boolean;
      MemZipping: Boolean;
      MemBuffer: PChar;
      MemLen: BIGINT;
      MemLeft: BIGINT;
      CurrMem: PChar;
      Fixing: Boolean;
      DR: Boolean;
      FZipNameNoExtension: string;


      TotalUncompressedSize: Comp;
      TotalBytesDone: Comp;

      procedure OpenZip;
      procedure CloseZip;
      function GetCount: Integer;
      procedure GetFileInfo(infofile: TkpStream);
      function GetZipName: string;
      procedure SetZipName(ZName: string); VIRTUAL;
      procedure SetArchiveStream(theStream: TkpStream);
      function GetDestDir: string;
      procedure SetDestDir(DDir: string);
      procedure SetRootDir(Value: string);
      function StripRelativePath( var path: String ): String;
      function UnZipFiles(zip_in_file: TkpStream): Integer;
      function UpdCRC(Octet: Byte; Crc: U_LONG): U_LONG;
      function SwapDisk(NewDisk: Integer): TkpStream;
      procedure SetFileComment(Index: Integer; theComment: string);
      procedure SetZipComment(theComment: string);
      procedure WriteNumDisks(NumberOfDisks: Integer);
      procedure NewDiskEvent(Sender: TObject; var S: TkpStream);
      procedure SetThisVersion(v: Integer);
      procedure SetThisBuild(b: Integer);
      function GetCheckDiskLabels: Boolean; VIRTUAL;
      procedure SetCheckDiskLabels(Value: Boolean); VIRTUAL;
      function CreateNewZipHeader: TZipHeaderInfo;
      function SetBusy( value: Boolean ): Boolean;
      function SetOperationMode( value: TOperationMode ): TOperationMode;



      { GetMultiMode and SetMultiMode added 3/10/98 for 2.03}
      function GetMultiMode: TMultiMode; VIRTUAL;
      procedure SetMultiMode(Value: TMultiMode); VIRTUAL;

      { List functions }
      procedure SetFilesList(Value: TStrings);
      function GetFilename(Index: Integer): TZipFilename;
      function GetPathname(Index: Integer): TZipPathname;
      function GetFullname(Index: Integer): string;
      function GetCompressMethod(Index: Integer): WORD;
      function GetCompressMethodStr(Index: Integer): string;
      function GetDateTime(Index: Integer): TDateTime;
      function GetCrc(Index: Integer): U_LONG;
      function GetCompressedSize(Index: Integer): BIGINT;
      function GetUnCompressedSize(Index: Integer): BIGINT;
      function GetExternalFileAttributes(Index: Integer): U_LONG;
      function GetIsEncrypted(Index: Integer): Boolean;
      function GetHasComment(Index: Integer): Boolean;
      function GetFileComment(Index: Integer): string;
      function GetFileIsOK(Index: Integer): Boolean;    { 12/3/98  2.17P+ }
      function GetDiskNo(Index: Integer): Integer;
      function GetSelected(Index: Integer): Boolean;    {6/27/99 2.18+ }
      procedure SetSelected(Index: Integer; Value: Boolean);
      {$IFDEF ISDELPHI}
      function GetDecryptHeader(Index: Integer): DecryptHeaderType;
      {$ENDIF}
      function GetZipHasComment: Boolean;
      function GetZipComment: string;
      function GetZipSize: BIGINT;
      function GetIsZip64: Boolean;

      {Decryption}
      function DecryptTheHeader(Passwrd: string; zfile: TkpStream): BYTE;
      procedure update_keys(ch: char);
      function decrypt_byte: BYTE;
      procedure Init_Keys(Passwrd: string);
      procedure Update_CRC_buff(bufptr: BYTEPTR; num_to_update: LongInt);
      procedure DoFileNameForSplitPart(var FName: String; PartNum: Integer;
                SplitType: TSplitPartType);
      procedure DoGetNextDisk(NextDisk: Integer; var FName: string);
      function DoHandleMessage(const MessageID: Integer; const Msg1: String; const Msg2: String; const flags: LongWord ): Integer;


      procedure Loaded; OVERRIDE;

      procedure DoPause;

   PUBLIC
      { Public declarations }
      constructor Create(AOwner: TComponent); OVERRIDE;
      destructor Destroy; OVERRIDE;
      procedure Assign(Source: TPersistent); OVERRIDE;  { 6/27/99 2.18+ }
      procedure ReadZip;
      function UnZip: Integer;
      function UnZipSelected: Integer;
      procedure ClearSelected;
      procedure ClearZip;
      procedure FillList(FilesList: TStrings);
      procedure Sort(SMode: TZipSortMode);
      procedure CancelTheOperation;
      procedure PauseTheOperation;
      procedure RestartTheOperation;
      procedure AskForNewDisk(NewDisk: Integer);
      procedure DefaultGetNextDisk(Sender: TObject; NextDisk: Integer; var FName: string);
      procedure DefaultFileNameForSplitPart(Sender: TObject; var FName: String; PartNum: Integer;
                SplitType: TSplitPartType);
      function DefaultHandleMessage(const MessageID: Integer; const Msg1: String; const Msg2: String; const flags: LongWord): Integer;
      function UnZipToStream(theStream: TkpStream; FName: string): Integer;
      {$IFNDEF INT64STREAMS} overload;
      function UnZipToStream(theStream: TMemoryStream; FName: string): Integer; overload;
      function UnZipToStreamByIndex(theStream: TStream; Index: Integer): Integer; overload;
      {$ENDIF}
      function UnZipToStreamByIndex(theStream: TkpStream; Index: Integer): Integer;
      {$IFNDEF INT64STREAMS} overload;
      {$ENDIF}
      function UnZipToBuffer(var Buffer: PChar; FName: string): Integer;
      function UnZipToBufferByIndex(var Buffer: PChar; Index: Integer): Integer;

      procedure ZLibDecompressStream(inStream, outStream: TStream; HttpCompression: Boolean = False);
      procedure ZLibDecompressBuffer(const inBuffer: Pointer; inSize: Integer;
                  out outBuffer: Pointer; out outSize: Integer; outEstimate: Integer = 0; HttpCompression: Boolean = False);
      function ZLibDecompressString(const s: string; HttpCompression: Boolean = False): String;

      procedure ResetFileIsOK(Index: Integer);
      function CheckArchive: Boolean;
      function DecryptHeaderByte(Passwrd: string; dh: DecryptHeaderType): BYTE;
      procedure decrypt_buff(bufptr: BYTEPTR; num_to_decrypt: LongInt);
      { The following two are for BCB because of difficulties passing the DecryptHeaderType }
      procedure GetDecryptHeaderPtr(Index: Integer; dhPtr: BytePtr); { 8/8/99  2.18+ }
      function DecryptHeaderByteByPtr(Passwrd: string; dh: BytePtr): Byte; { 8/8/99  2.18+ }
      { -------- }
      property ArchiveStream: TkpStream READ theZipFile WRITE SetArchiveStream;
      property Count: Integer READ GetCount;
      property Filename[Index: Integer]: TZipFilename READ GetFilename;
      property Pathname[Index: Integer]: TZipPathname READ GetPathname;
      property FullName[Index: Integer]: string READ GetFullName;
      property CompressMethod[Index: Integer]: WORD READ GetCompressMethod;
      property CompressMethodStr[Index: Integer]: string READ GetCompressMethodStr;
      property DateTime[Index: Integer]: TDateTime READ GetDateTime;
      property Crc[Index: Integer]: U_LONG READ GetCrc;
      property CompressedSize[Index: Integer]: BIGINT READ GetCompressedSize;
      property UnCompressedSize[Index: Integer]: BIGINT READ GetUnCompressedSize;
      property ExternalFileAttributes[Index: Integer]: U_LONG READ GetExternalFileAttributes;
      property IsEncrypted[Index: Integer]: Boolean READ GetIsEncrypted;
      property FileHasComment[Index: Integer]: Boolean READ GetHasComment;
      property FileComment[Index: Integer]: string READ GetFileComment;
      property FileIsOK[Index: Integer]: Boolean READ GetFileIsOK; { 12/3/98 2.17P+ }
      property DiskNo[Index: Integer]: Integer READ GetDiskNo;
      property Selected[Index: Integer]: Boolean READ GetSelected WRITE SetSelected;  { 6/27/99 2.18+ }
      property ZipComment: string READ GetZipComment;
      property Password: string READ FPassword WRITE FPassword;
      property ZipHasComment: Boolean READ GetZipHasComment;
      property NumDisks: Integer READ FNumDisks;
      property ZipSize: BIGINT READ GetZipSize;
      property CheckDiskLabels: Boolean READ GetCheckDiskLabels WRITE SetCheckDiskLabels DEFAULT
         True;
      property MultiMode: TMultiMode READ GetMultiMode WRITE SetMultiMode DEFAULT mmNone;
      property Busy: Boolean READ FBusy DEFAULT False;
      {$IFDEF ISDELPHI}
      property DecryptHeader[Index: Integer]: DecryptHeaderType READ GetDecryptHeader;
      {$ENDIF}
      property NumSelected: Integer READ FNumSelected;
      property BufferLength: LongInt READ FBufferLength WRITE FBufferLength DEFAULT 0;
      property ImproperZip: Boolean READ FImproperZip DEFAULT False;  { 2/19/00  2.20+ }
      property BufferedStreamSize: Integer READ FBufferedStreamSize
                 WRITE FBufferedStreamSize DEFAULT DEF_BUFSTREAMSIZE;
      property EncryptBeforeCompress: Boolean read FEncryptBeforeCompress write FEncryptBeforeCompress
                 default False;
      property OperationMode: TOperationMode read FOperationMode;
      property isZip64: Boolean read GetIsZip64;

   PUBLISHED
      { Published declarations }
      property ThisVersion: Integer READ FThisVersion WRITE SetThisVersion DEFAULT
         kpThisVersion;
      property ThisBuild: Integer READ FThisBuild WRITE SetThisBuild DEFAULT
         kpThisBuild;
      property ZipName: string READ GetZipName WRITE SetZipName;
      property DestDir: string READ GetDestDir WRITE SetDestDir;
      property RootDir: string READ FRootDir WRITE SetRootDir;
      property RelativePathList: TStrings READ FRelativePathList WRITE FRelativePathList;
      property SortMode: TZipSortMode READ FSortMode WRITE FSortMode DEFAULT ByNone;
      property RecreateDirs: Boolean READ FRecreateDir WRITE FRecreateDir DEFAULT False;
      property OverwriteMode: TUZOverwriteMode READ FOverwriteMode
         WRITE FOverwriteMode DEFAULT Prompt;
      property FilesList: TStrings READ FFilesList WRITE SetFilesList;
      property DoAll: Boolean READ FDoAll WRITE FDoAll DEFAULT False;
      property IncompleteZipMode: TIncompleteZipMode READ FIncompleteZipMode
         WRITE FIncompleteZipMode DEFAULT izAssumeMulti;
      property KeepZipOpen: Boolean READ FKeepZipOpen WRITE FKeepZipOpen DEFAULT False;
      property DoProcessMessages: Boolean READ FDoProcessMessages WRITE FDoProcessMessages
         DEFAULT True;
      property RetainAttributes: Boolean READ FRetainAttributes WRITE FRetainAttributes DEFAULT
         True;
      property ReplaceReadOnly: Boolean READ FReplaceReadOnly WRITE FReplaceReadOnly DEFAULT
         False;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲国产成人av制服丝袜| 一区二区三区国产| 91影院在线观看| 青娱乐精品在线视频| 欧美极品aⅴ影院| 欧美精品aⅴ在线视频| 成人综合日日夜夜| 青娱乐精品视频| 亚洲女与黑人做爰| 欧美精品一区在线观看| 精品视频一区二区三区免费| 国产精品88888| 日韩av午夜在线观看| 中文字幕在线观看不卡| 欧美成人官网二区| 欧美亚洲免费在线一区| 成人中文字幕合集| 国产在线播放一区三区四| 亚洲va欧美va人人爽| 综合久久久久久| 国产午夜精品在线观看| 九九国产精品视频| 国内国产精品久久| 亚洲高清久久久| 欧美高清一级片在线观看| 日韩一区二区在线观看视频| 色婷婷综合久久久久中文一区二区 | 成a人片亚洲日本久久| 免费看黄色91| 污片在线观看一区二区 | 亚洲成av人**亚洲成av**| 中文字幕不卡在线播放| 久久先锋影音av鲁色资源网| 4hu四虎永久在线影院成人| 在线影院国内精品| 91在线视频免费91| zzijzzij亚洲日本少妇熟睡| 国产精选一区二区三区| 久久99久久久欧美国产| 蜜臀久久久久久久| 五月婷婷久久丁香| 日日嗨av一区二区三区四区| 亚洲精品高清在线| 91在线免费视频观看| 国产精品一区在线| 国产一区二区在线观看视频| 免费成人在线观看视频| 日日骚欧美日韩| 无吗不卡中文字幕| 日本视频一区二区| 六月婷婷色综合| 狠狠色伊人亚洲综合成人| 久久国产免费看| 国产制服丝袜一区| 国产成人精品免费在线| 成人免费视频网站在线观看| av资源网一区| 色网站国产精品| 欧美日韩视频在线观看一区二区三区 | 91蜜桃传媒精品久久久一区二区| 99re这里只有精品首页| 91传媒视频在线播放| 欧美三级电影网| 91麻豆精品国产91久久久久久 | 亚洲国产欧美另类丝袜| 亚洲成av人综合在线观看| 视频在线观看一区| 久久99久久99小草精品免视看| 激情五月婷婷综合网| 成人免费毛片嘿嘿连载视频| 色综合中文字幕国产| 欧美日本在线看| 精品国产免费久久 | 天天免费综合色| 久久99精品国产.久久久久久| 国产精品一区二区在线观看不卡| 国产不卡视频一区| 欧美性大战久久久久久久| 日韩视频一区二区在线观看| 国产日本欧洲亚洲| 亚洲摸摸操操av| 另类调教123区| 成人的网站免费观看| 欧美三级日韩在线| 久久午夜色播影院免费高清| 亚洲视频每日更新| 免费精品视频在线| 成人app网站| 欧美日韩成人综合| 欧美激情一区二区三区蜜桃视频 | 在线免费一区三区| 91精品国产全国免费观看 | **性色生活片久久毛片| 亚洲chinese男男1069| 国产综合一区二区| 欧美性高清videossexo| 久久精品夜夜夜夜久久| 亚洲成人自拍一区| 国产1区2区3区精品美女| 欧美日韩免费观看一区三区| 久久久影视传媒| 日韩中文字幕一区二区三区| 成人av网站免费| 日韩免费视频线观看| 一区二区三区日韩精品视频| 国产一区二区三区四区在线观看| 欧美天天综合网| 国产精品日韩成人| 久久精品国产99国产| 91久久精品一区二区| 国产欧美日本一区视频| 奇米精品一区二区三区在线观看一| a美女胸又www黄视频久久| 精品国产91洋老外米糕| 午夜av一区二区| 色女孩综合影院| 久久影院午夜片一区| 日本色综合中文字幕| 在线视频你懂得一区| 中文字幕一区二区三区在线观看 | 亚洲成年人影院| aaa欧美大片| 国产午夜精品福利| 极品少妇一区二区| 日韩一级精品视频在线观看| 一区二区三区免费网站| 波多野结衣中文字幕一区二区三区| 精品成人在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美视频一区二区三区| 亚洲女女做受ⅹxx高潮| 99久久精品国产观看| 国产精品无遮挡| 国产99久久久国产精品潘金| 久久免费午夜影院| 91精品国产综合久久蜜臀| 亚洲妇熟xx妇色黄| 不卡的av在线播放| 欧美激情一区不卡| 成人听书哪个软件好| 国产日韩欧美一区二区三区综合| 久久超碰97人人做人人爱| 91精品国产欧美一区二区成人| 亚洲国产精品久久久久婷婷884 | 欧美日韩一区视频| 亚洲国产日产av| 欧美片网站yy| 三级亚洲高清视频| 欧美二区三区的天堂| 三级久久三级久久久| 日韩精品中午字幕| 久久99精品久久久久| 久久天堂av综合合色蜜桃网| 国产一区在线不卡| 欧美国产欧美综合| 99精品视频一区二区三区| 亚洲精品成人精品456| 欧美在线视频日韩| 国产精品99久| 国产欧美日韩视频一区二区| 国产美女精品人人做人人爽| 久久久精品国产免大香伊| 国产成人av福利| 国产精品伦一区| 在线一区二区视频| 午夜激情一区二区| 精品美女一区二区三区| 国产成人8x视频一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 欧美军同video69gay| 久草热8精品视频在线观看| 欧美激情一区二区在线| 欧洲精品在线观看| 九九视频精品免费| 中文字幕乱码日本亚洲一区二区| 一本到高清视频免费精品| 石原莉奈在线亚洲二区| 国产片一区二区| 欧日韩精品视频| 九九视频精品免费| 亚洲人123区| 日韩免费在线观看| 91在线免费播放| 久色婷婷小香蕉久久| 中国色在线观看另类| 欧美精品日日鲁夜夜添| 国产不卡视频在线播放| 亚洲香肠在线观看| 国产三级欧美三级日产三级99| 色吧成人激情小说| 韩国精品主播一区二区在线观看 | 日韩精品一区在线观看| 国产999精品久久久久久绿帽| 一区二区三区日韩精品| 精品伦理精品一区| 欧美又粗又大又爽| 国产成人午夜精品影院观看视频 | 欧美大尺度电影在线| 波多野结衣视频一区| 麻豆国产一区二区|