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

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

?? vclzip.pas

?? delphi 的壓縮工具代碼
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{ ********************************************************************************** }
{                                                                                    }
{   COPYRIGHT 1997 Kevin Boylan                                                    }
{     Source File: VCLZip.pas                                                        }
{     Description: VCLZip component - native Delphi unzip component.                 }
{     Date:        March 1997                                                        }
{     Author:      Kevin Boylan, boylank@bigfoot.com                                 }
{                                                                                    }
{                                                                                    }
{ ********************************************************************************** }
unit VCLZip;

{$I KPDEFS.INC}

{$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 }

interface

uses
{$IFDEF WIN32}
 Windows,
{$ELSE}
 WinTypes, WinProcs, kpSHuge,
{$ENDIF}
  SysUtils, Messages, Classes,
  {$IFDEF KPSMALL}
   kpSmall,
  {$ELSE}
  Dialogs, Forms, Controls,
  {$ENDIF}
  KpLib, VCLUnZip, kpZipObj, kpMatch {$IFNDEF NO_RES}, kpzcnst {$ENDIF};

{$IFNDEF WIN32}
  {$DEFINE WIN16}
{$ELSE}
  {$IFOPT C+}
     {$DEFINE ASSERTS}
  {$ENDIF}
{$ENDIF}

type
  usigned = word;
  WPos = WORD;
  IPos = usigned;
  uch = Byte;
  EInvalidMatch = Class( Exception );
  ct_dataPtr = ^ct_data;
  ct_data = packed Record
     fc: Record
           Case Integer of
              0: (freq:   WORD );
              1: (code:   WORD );
         end;
     dl: Record
           Case Integer of
              0: (dad:    WORD );
              1: (len:    WORD );
         end;
  end;
  ct_dataArrayPtr = ^ct_dataArray;
 ct_dataArray = array [0..(MAX_USHORT div SizeOf(ct_data))-1] of ct_data;
  static_ltreePtr = ^static_ltree_type;
  static_dtreePtr = ^static_dtree_type;
  static_ltree_type = array [0..L_CODES+1] of ct_data;
  static_dtree_type = array [0..D_CODES-1] of ct_data;

  windowtypePtr = ^windowtype;
  prevtypePtr = ^prevtype;
  headtypePtr = ^headtype;
  l_buftypePtr = ^l_buftype;
  d_buftypePtr = ^d_buftype;
  flag_buftypePtr = ^flag_buftype;

  {$IFDEF WIN32}
  windowtype = array[0..2*WSIZE-1] of uch;
  prevtype = array[0..WSIZE-1] of WPos;
  headtype =  array[0..HASH_SIZE-1] of WPos;
  l_buftype = array [0..LIT_BUFSIZE-1] of Byte;
  d_buftype = array [0..DIST_BUFSIZE-1] of WORD;
  flag_buftype = array [0..(LIT_BUFSIZE div 8)-1] of Byte;
  {$ELSE}
  windowtype = array[0..0] of Byte;
  prevtype = array[0..0] of Word;
  headtype = array[0..0] of Word;
  l_buftype = array[0..0] of Byte;
  d_buftype = array[0..0] of Word;
  flag_buftype = array[0..0] of Byte;
  {$ENDIF}

  TZipAction = (zaUpdate, zaReplace, zaFreshen);

  TStartZipInfo = procedure( Sender: TObject; NumFiles: Integer; TotalBytes: Comp;
              var EndCentralRecord: TEndCentral; var StopNow: Boolean ) of Object;
  TStartZipEvent = procedure( Sender: TObject; FName: String;
                 var ZipHeader: TZipHeaderInfo; var Skip: Boolean ) of Object;
  TEndZipFileEvent = procedure( Sender: TObject; FName: String; UncompressedSize,
                             CompressedSize, CurrentZipSize: LongInt ) of Object;
  TDisposeEvent = procedure( Sender: TObject; FName: String; var Skip: Boolean ) of Object;
  TDeleteEvent = procedure( Sender: TObject; FName: String ; var Skip: Boolean ) of Object;
  TNoSuchFileEvent = procedure( Sender: TObject; FName: String ) of Object;
  TZipComplete = procedure( Sender : TObject; FileCount : Integer) of Object;
  TUpdateAction = (uaReplacing, uaKeeping);   { 7/5/99  2.18+ }
  TUpdateEvent = procedure( Sender: TObject; UDAction: TUpdateAction;
                             FileIndex: Integer ) of Object; { 7/5/99  2.18+ }
  TPrepareNextDisk = procedure( Sender: TObject; DiskNum: Integer ) of Object; { 7/9/00 2.21b3+ }
  TOnRecursingFile = procedure( Sender: TObject; FName: String ) of Object; { 7/9/01 2.21+ }

 TMultiZipInfo = class(TPersistent)
  private
    FBlockSize: LongInt;
    FFirstBlockSize: LongInt;
    FSaveOnFirstDisk: LongInt; { 8/15/99 2.18+ }
    FSaveZipInfo: Boolean;     { 8/15/99 2.18+ }
    FMultiMode: TMultiMode;
    FCheckDiskLabels: Boolean;
    FWriteDiskLabels: Boolean;

  public
    Constructor Create;
    procedure Assign(Source: TPersistent); override;
  published
    property BlockSize: LongInt read FBlockSize write FBlockSize default 1457600;
    property FirstBlockSize: LongInt read FFirstBlockSize write FFirstBlockSize default 1457600;
    property SaveOnFirstDisk: LongInt read FSaveOnFirstDisk write FSaveOnFirstDisk default 0;
    property SaveZipInfoOnFirstDisk: Boolean read FSaveZipInfo write FSaveZipInfo default False;
    property MultiMode: TMultiMode read FMultiMode write FMultiMode default mmNone;
    property CheckDiskLabels: Boolean read FCheckDiskLabels write FCheckDiskLabels default True;
    property WriteDiskLabels: Boolean read FWriteDiskLabels write FWriteDiskLabels default True;
 end;

 TVCLZip = class(TVCLUnZip)
  private
     FPackLevel:    Integer;
     FRecurse:      Boolean;
     FDispose:      Boolean;
     FStorePaths:   Boolean;
     FRelativePaths: Boolean;
     FStoreVolumes: Boolean;
     FZipAction:    TZipAction;
     FBlockSize:    LongInt;
     FMultiZipInfo: TMultiZipInfo;
     FStore83Names: Boolean;
     FTempPath:     String;
     FSkipIfArchiveBitNotSet: Boolean; { 7/4/98 2.13 }
     FResetArchiveBitOnZip: Boolean; { Added 4-Jun-98 SPF 2.13 }
     FExcludeList: TStrings;    { 9/27/98  2.15 }
     FNoCompressList: TStrings; { 9/27/98  2.15 }
     FOnZipComplete: TZipComplete;
     {$IFDEF UNDER_DEVELOPMENT}
     FOtherVCLZip:  TVCLZip;    { 10/24/99 2.20b3+ }
     {$ENDIF}

     FOnStartZipInfo: TStartZipInfo;
     FOnStartZip:   TStartZipEvent;
     FOnDisposeFile: TDisposeEvent;
     FOnEndZip: TEndZipFileEvent;
     FOnDeleteEntry: TDeleteEvent;
     FOnNoSuchFile: TNoSuchFileEvent;
     FOnUpdate: TUpdateEvent; { 7/5/99  2.18+ }
     FOnPrepareNextDisk: TPrepareNextDisk; { 7/9/00 2.21b3+ }
     FOnRecursingFile: TOnRecursingFile;  { 7/9/01 2.21+ }

     AmountWritten: BIGINT;
     AmountToWrite: BIGINT;
     UsingTempFile: Boolean;
     CreatingSFX: Boolean;
     SFXStubFile: TLFNFileStream;
     FPreserveStubs: Boolean;
     FAddDirEntries: Boolean;
     FFileOpenMode: Word;

  protected
    { Protected declarations }
     zfile:         TStream; { output compression file }
     IFile:         TStream; { input file to compress }
     mfile:         TStream; { temporary file during spanned file creation }
     IFileName:     String;
     isize:         LongInt;
     tmpfiles:      TSortedZip;
     tmpfiles2:     TSortedZip;
     tmpecrec:      TEndCentral;
     tmpfile_info:  TZipHeaderInfo;
     tmpZipName:    String;
     mZipName:      String;
     Deleting:      Boolean;
     FileBytes:     LongInt;
     SaveNewName:   String;

  static_ltree:  static_ltree_type;
  static_dtree:  static_dtree_type;
  bl_count:      array [0..MAX_ZBITS] of WORD;
  base_dist:     array [0..D_CODES-1] of Integer;
  length_code:   array [0..MAX_MATCH-MIN_MATCH] of Byte;
  dist_code:     array [0..511] of Byte;
  base_length:   array [0..LENGTH_CODES-1] of Integer;
  TRInitialized: Boolean;
  {$IFDEF WIN16}
  windowObj:     TkpHugeByteArray;
  prevObj:       TkpHugeWordArray;
  headObj:       TkpHugeWordArray;
  l_bufObj:      TkpHugeByteArray;
  d_bufObj:      TkpHugeWordArray;
  flag_bufObj:   TkpHugeByteArray;
  {$ENDIF}
  window:        windowtypePtr;
  prev:          prevtypePtr;
  head:          headtypePtr;
  l_buf:         l_buftypePtr;
  d_buf:         d_buftypePtr;
  flag_buf:      flag_buftypePtr;

    function zfwrite(buf: BytePtr; item_size, nb: Integer): LongInt;
    function zencode(c: Byte): Byte;
    function file_read( w: BytePtr; size: usigned ): LongInt;
    procedure CreateTempZip;
    function Deflate: LongInt;
    function ProcessFiles: Integer;
    function AddFileToZip( FName: String ): Boolean;
    {procedure MoveExistingFiles;}
    procedure MoveFile( Index: Integer );
    procedure MoveTempFile;
    procedure StaticInit;
    procedure CryptHead( passwrd: String );

    procedure SetZipName( ZName: String ); override;
    function GetIsModified: Boolean;
    procedure SetMultiZipInfo(Value: TMultiZipInfo);
    function GetCheckDiskLabels: Boolean; override;
    procedure SetStoreVolumes( Value: Boolean );
    function GetMultiMode: TMultiMode; override;
    procedure SetCheckDiskLabels( Value: Boolean ); override;
    procedure SetMultiMode( Value: TMultiMode ); override;
    procedure ResetArchiveBit(AFileName: string); { Added 4-Jun-98 SPF 2.13? }
    function DiskRoom: BIGINT;
    function RoomLeft: BIGINT;
    procedure NextPart;
    procedure LabelDisk;
    procedure SaveZipInfoToFile( Filename: String );   { 8/14/99 2.18+ }

    procedure SetDateTime(Index: Integer; DT: TDateTime );
    procedure SetPathname(Index: Integer; Value: TZipPathname);
    procedure SetFilename(Index: Integer; Value: String);
    procedure SetStorePaths(Value: Boolean);
    procedure SetRelativePaths(Value: Boolean);

    function  TemporaryPath: String;
    procedure SetExcludeList(Value: TStrings);             { 9/27/98  2.15 }
    procedure SetNoCompressList(Value: TStrings);          { 9/27/98  2.15 }
    function IsInExcludeList( N: String ): Boolean;        { 9/27/98  2.15 }
    function IsInNoCompressList( N: String ): Boolean;     { 9/27/98  2.15 }

    procedure Loaded; override;

  public
    { Public declarations }
    constructor Create( AOwner: TComponent ); override;
    destructor Destroy; override;
    procedure Assign(Source: TPersistent); override;  { 6/27/99 2.18+ }
    function Zip: Integer;
    function DeleteEntries: Integer;
    procedure SaveModifiedZipFile;
    function ZipFromStream( theStream: TStream; FName: String ): Integer;
    function FixZip( InputFile, OutputFile: String): Integer;
    procedure MakeSFX( SFXStub: String; ModHeaders: Boolean );
    function MakeNewSFX( SFXStub: String; FName: String; Options: PChar;
                                                      OptionsLen: Integer): Integer;
    function ZipFromBuffer( Buffer: PChar; Amount: Longint; FName: String ): Integer;
    procedure SFXToZip(DeleteSFX: Boolean);

    {$IFDEF UNDER_DEVELOPMENT}
    { 10/24/99 2.20b3+ }
    procedure GetRawCompressedFile( Index: Integer; var Header: TZipHeaderInfo; ZippedStream: TStream );
    procedure InsertRawCompressedFile( Header: TZipHeaderInfo; ZippedStream: TStream );
    {$ENDIF}

    property DateTime[Index: Integer]: TDateTime read GetDateTime write SetDateTime;
    property FileComment[Index: Integer]: String read GetFileComment write SetFileComment;
    property ZipComment: String read GetZipComment write SetZipComment;
    property IsModified: Boolean read GetIsModified;
    property CheckDiskLabels: Boolean read GetCheckDiskLabels write SetCheckDiskLabels;
    property MultiMode: TMultiMode read GetMultiMode write SetMultiMode;

    property Pathname[Index: Integer]: TZipPathname read GetPathname write SetPathname;
    property Filename[Index: Integer]: String read GetFilename write SetFilename;
    property PreserveStubs: Boolean read FPreserveStubs write FPreserveStubs default False;
    property FileOpenMode: Word read FFileOpenMode write FFileOpenMode default fmShareDenyNone;
    {$IFDEF UNDER_DEVELOPMENT}
    property OtherVCLZip: TVCLZip read FOtherVCLZip write FOtherVCLZip;   { 10/24/99 2.20b3+ }
    {$ENDIF}

  published
    { Published declarations }
    property PackLevel: Integer read FPackLevel write FPackLevel default 6;
    property Recurse: Boolean read FRecurse write FRecurse default False;
    property Dispose: Boolean read FDispose write FDispose default False;
    property StorePaths: Boolean read FStorePaths write SetStorePaths default False;
    property RelativePaths: Boolean read FRelativePaths write SetRelativePaths default False;
    property StoreVolumes: Boolean read FStoreVolumes write SetStoreVolumes default False;
    property ZipAction: TZipAction read FZipAction write FZipAction default zaUpdate;
    property MultiZipInfo: TMultiZipInfo read FMultiZipInfo write SetMultiZipInfo;
    property Store83Names: Boolean read FStore83Names write FStore83Names default False;
    property TempPath: String read FTempPath write FTempPath;  { 5/5/98  2.12 }
    property SkipIfArchiveBitNotSet: Boolean read FSkipIfArchiveBitNotSet
              write FSkipIfArchiveBitNotSet default False; { 7/4/98  2.13 }
    property ResetArchiveBitOnZip: Boolean read FResetArchiveBitOnZip
              write FResetArchiveBitOnZip default False; { Added 4-Jun-98 SPF 2.13? }
    property ExcludeList: TStrings read FExcludeList write SetExcludeList;  { 9/27/98  2.15 }
    property NoCompressList: TStrings read FNoCompressList write SetNoCompressList;  { 9/27/98  2.15 }
    property AddDirEntriesOnRecurse: Boolean read FAddDirEntries write FAddDirEntries default False;

    { Event Properties }
    property OnStartZip: TStartZipEvent read FOnStartZip write FOnStartZip;
    property OnStartZipInfo: TStartZipInfo read FOnStartZipInfo write FOnStartZipInfo;
    property OnEndZip: TEndZipFileEvent read FOnEndZip write FOnEndZip;
    property OnDisposeFile: TDisposeEvent read FOnDisposeFile write FOnDisposeFile;
    property OnDeleteEntry: TDeleteEvent read FOnDeleteEntry write FOnDeleteEntry;
    property OnNoSuchFile: TNoSuchFileEvent read FOnNoSuchFile write FOnNoSuchFile;
    property OnZipComplete: TZipComplete read FOnZipComplete write FOnZipComplete;
    property OnUpdate: TUpdateEvent read FOnUpdate write FOnUpdate;  { 7/5/99  2.18+ }
    property OnPrepareNextDisk: TPrepareNextDisk read FOnPrepareNextDisk write FOnPrepareNextDisk;
    property OnRecursingFile: TOnRecursingFile read FOnRecursingFile write FOnRecursingFile;
  end;

  {$IFNDEF FULLPACK}
  procedure Register;
  {$ENDIF}

implementation

{$I kpDFLT.PAS}

constructor TMultiZipInfo.Create;
begin
  Inherited Create;
  MultiMode := mmNone;
  FBlockSize := 1457600;
  FFirstBlockSize := 1457600;
  FSaveOnFirstDisk := 0;
  FSaveZipInfo := False;
  CheckDiskLabels := True;
  FWriteDiskLabels := True;
end;

procedure TMultiZipInfo.Assign(Source: TPersistent);
var
  Src: TMultiZipInfo;
begin
  If Source is TMultiZipInfo then
   begin
     Src := TMultiZipInfo(Source);
     FMultiMode := Src.MultiMode;
     FBlockSize := Src.BlockSize;
     FFirstBlockSize := Src.FirstBlockSize;
     FSaveOnFirstDisk := Src.SaveOnFirstDisk;
     FSaveZipInfo := Src.FSaveZipInfo;
     FCheckDiskLabels := Src.CheckDiskLabels;
     FWriteDiskLabels := Src.WriteDiskLabels;
   end
 else inherited Assign(Source);
end;

constructor TVCLZip.Create( AOwner: TComponent );
begin
  inherited Create(AOwner);
  FMultiZipInfo := TMultiZipInfo.Create;
  FPackLevel := 6;
  FRecurse := False;
  FDispose := False;
  FStorePaths := False;
  FStoreVolumes := False;
  FZipAction := zaUpdate;  {update only if newer}
  FBlockSize := 1457600;
  FRelativePaths := False;
  FStore83Names := False;
  FTempPath := '';
  Deleting := False;
  zfile := nil;
  tmpfiles := nil;
  tmpecrec := nil;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久四虎| 国产精品羞羞答答xxdd| 色香蕉成人二区免费| 亚洲男人的天堂网| 色婷婷国产精品| 亚洲成人一区在线| 欧美猛男gaygay网站| 日韩av网站免费在线| 精品国内片67194| 丰满少妇在线播放bd日韩电影| 国产欧美日韩三级| 成a人片国产精品| 亚洲一区二区欧美| 日韩三级伦理片妻子的秘密按摩| 美女mm1313爽爽久久久蜜臀| 久久综合成人精品亚洲另类欧美| 懂色av一区二区三区免费观看| 中文av一区二区| 欧美日韩中文字幕精品| 激情图区综合网| 亚洲人吸女人奶水| 91精品国产aⅴ一区二区| 国产精品综合在线视频| 亚洲视频中文字幕| 69av一区二区三区| 国产v日产∨综合v精品视频| 一级日本不卡的影视| 欧美成人一区二区三区| 99这里只有精品| 视频一区二区三区在线| 国产欧美久久久精品影院| 色视频成人在线观看免| 美女视频第一区二区三区免费观看网站| 精品国产91久久久久久久妲己| 91在线播放网址| 麻豆成人免费电影| 樱花影视一区二区| 精品少妇一区二区三区在线视频| 99久久精品国产导航| 日本伊人色综合网| 中文字幕中文在线不卡住| 欧美三级电影网| 不卡大黄网站免费看| 人人爽香蕉精品| 亚洲精品写真福利| 国产婷婷色一区二区三区| 欧美午夜不卡视频| 9i在线看片成人免费| 激情成人综合网| 亚洲高清在线精品| 亚洲人被黑人高潮完整版| 亚洲精品在线三区| 在线播放中文一区| 91视频在线看| 成人激情动漫在线观看| 久久99国产精品免费| 亚洲va天堂va国产va久| 中文字幕字幕中文在线中不卡视频| 日韩精品中午字幕| 欧美裸体一区二区三区| 99re亚洲国产精品| 欧美日韩成人激情| 午夜免费欧美电影| 亚洲欧美偷拍另类a∨色屁股| 久久成人免费网| 日韩欧美亚洲一区二区| 欧美网站一区二区| 91免费精品国自产拍在线不卡| 国产福利电影一区二区三区| 奇米影视在线99精品| 亚洲成av人综合在线观看| 亚洲免费成人av| 亚洲视频狠狠干| 亚洲第一电影网| 中文字幕一区二区在线观看| 久久午夜电影网| 久久久国产精品午夜一区ai换脸| 欧美mv日韩mv国产网站| 精品国免费一区二区三区| 精品国产一二三| 欧美精品一区在线观看| 久久久精品人体av艺术| 国产午夜精品一区二区三区视频 | 亚洲精品一区二区三区四区高清| 8x福利精品第一导航| 欧美性三三影院| 日本在线不卡一区| 久久精品国产亚洲a| 久久99最新地址| 国产成人亚洲精品狼色在线| 国产黄色精品视频| 成人国产精品免费网站| 91天堂素人约啪| 欧美性大战久久| 91精品国产综合久久精品性色| 日韩一区二区免费在线电影| 欧美一区永久视频免费观看| 精品电影一区二区三区| 国产欧美日韩一区二区三区在线观看| 亚洲国产视频直播| 久久亚洲精品小早川怜子| 日韩欧美综合在线| 久久久久国产免费免费| 一色屋精品亚洲香蕉网站| 亚洲久本草在线中文字幕| 亚洲综合区在线| 欧美a级理论片| 国产一区二区三区免费| 91一区二区在线观看| 欧美日韩午夜影院| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产精品自在在线| 91在线观看视频| 91精品国产综合久久久久久| 国产日韩精品视频一区| 一区二区三区中文字幕电影| 天天操天天色综合| 国产一区欧美一区| 色先锋资源久久综合| 日韩情涩欧美日韩视频| 亚洲欧美日韩综合aⅴ视频| 日韩电影在线免费看| 国产盗摄一区二区| 欧美性受xxxx| 国产亚洲午夜高清国产拍精品| 亚洲视频网在线直播| 激情综合五月婷婷| 91福利在线看| 久久免费偷拍视频| 亚洲一本大道在线| 岛国av在线一区| 3d动漫精品啪啪1区2区免费| 国产日韩欧美一区二区三区乱码| 亚洲无线码一区二区三区| 风间由美一区二区av101| 欧美一区二区三区在线观看| 亚洲欧洲日产国码二区| 九色综合狠狠综合久久| 99精品视频一区二区三区| 日韩精品一区二区在线| 亚洲精品免费在线| 国产·精品毛片| 日韩你懂的在线观看| 一区二区三区中文免费| 成人动漫av在线| 久久久久久久久久久久久夜| 视频在线观看91| 欧美影院一区二区三区| 中文字幕一区二区三区在线观看 | 91色九色蝌蚪| 久久久不卡影院| 精品一区二区三区在线视频| 在线观看国产一区二区| 国产精品久99| 国产精品2024| 日韩欧美国产麻豆| 日韩和欧美的一区| 在线观看视频一区二区欧美日韩| 欧美激情一区不卡| 国产一区二区三区久久久| 日韩一区二区免费在线电影| 五月婷婷欧美视频| 欧美日免费三级在线| 亚洲免费视频成人| 91首页免费视频| 亚洲视频1区2区| 色猫猫国产区一区二在线视频| 国产精品丝袜黑色高跟| 福利一区在线观看| 国产精品视频在线看| 丁香一区二区三区| 日本一区二区三区dvd视频在线| 国产精品一级在线| 国产亚洲一区二区三区在线观看| 国产成人啪免费观看软件| 国产日韩欧美不卡在线| 成人黄色一级视频| 亚洲欧美日韩在线播放| 在线免费观看日本欧美| 亚洲电影你懂得| 91精品国模一区二区三区| 久久精品国产99久久6| www国产亚洲精品久久麻豆| 国产成人免费在线观看| 综合分类小说区另类春色亚洲小说欧美| 白白色 亚洲乱淫| 亚洲综合在线第一页| 欧美久久久久免费| 激情综合五月婷婷| 国产视频一区二区三区在线观看| 国产成人自拍高清视频在线免费播放| 国产欧美精品区一区二区三区 | 成人黄色777网| 亚洲欧美一区二区三区孕妇| 欧美视频在线观看一区二区| 人禽交欧美网站| 国产视频视频一区| 欧美午夜一区二区三区| 久久99久久99精品免视看婷婷| 欧美激情在线看|