日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python虚拟机类机制之descriptor(三)

發(fā)布時(shí)間:2025/4/9 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python虚拟机类机制之descriptor(三) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

從slot到descriptor

在Python虛擬機(jī)類(lèi)機(jī)制之填充tp_dict(二)這一章的末尾,我們介紹了slot,slot包含了很多關(guān)于一個(gè)操作的信息,但是很可惜,在tp_dict中,與__getitem__關(guān)聯(lián)在一起的,一定不會(huì)是一個(gè)slot,原因很簡(jiǎn)單,slot不是一個(gè)PyObject,它不能存放在dict對(duì)象中。當(dāng)然,我們?cè)偕钊胨伎家幌?#xff0c;會(huì)發(fā)現(xiàn)slot也不會(huì)被“調(diào)用”。既然slot不是一個(gè)PyObject,那么它就沒(méi)有type,也就無(wú)從談起什么tp_call了,所以slot是無(wú)論如何也不滿(mǎn)足前面所描述的Python的“可調(diào)用”這個(gè)概念

前面我們說(shuō)過(guò),Python虛擬機(jī)會(huì)在tp_dict找到__geiitem__對(duì)應(yīng)的操作后,調(diào)用該操作,所以在tp_dict中與__getitem__對(duì)應(yīng)的只能是另一個(gè)包裝了slot的PyObject,在Python中,我們稱(chēng)為descriptor

在Python內(nèi)部,存在多種descriptor,與PyTypeObject中的操作對(duì)應(yīng)的是PyWrapperDescrObject。在此后的描述,我們將用術(shù)語(yǔ)descriptor來(lái)專(zhuān)門(mén)表示PyWrapperDescrObject。一個(gè)descriptor包含一個(gè)slot,其創(chuàng)建是通過(guò)PyDescr_NewWrapper

descrobject.h?

#define PyDescr_COMMON \PyObject_HEAD \PyTypeObject *d_type; \PyObject *d_nametypedef struct {PyDescr_COMMON;struct wrapperbase *d_base;void *d_wrapped; /* This can be any function pointer */ } PyWrapperDescrObject;

  

descrobject.c

static PyDescrObject * descr_new(PyTypeObject *descrtype, PyTypeObject *type, const char *name) {PyDescrObject *descr;//申請(qǐng)空間descr = (PyDescrObject *)PyType_GenericAlloc(descrtype, 0);if (descr != NULL) {Py_XINCREF(type);descr->d_type = type;descr->d_name = PyString_InternFromString(name);if (descr->d_name == NULL) {Py_DECREF(descr);descr = NULL;}}return descr; }PyObject * PyDescr_NewWrapper(PyTypeObject *type, struct wrapperbase *base, void *wrapped) {PyWrapperDescrObject *descr;descr = (PyWrapperDescrObject *)descr_new(&PyWrapperDescr_Type,type, base->name);if (descr != NULL) {descr->d_base = base;descr->d_wrapped = wrapped;}return (PyObject *)descr; }

  

Python內(nèi)部的各種descriptor都將包含PyDescr_COMMON,其中的d_type被設(shè)置為PyDescr_NewWrapper的參數(shù)type,而d_wrapped則存放著最重要的信息:操作對(duì)應(yīng)的函數(shù)指針,比如對(duì)于PyList_Type來(lái)說(shuō),其tp_dict["__getitem__"].d_wrapped就是&mp_subscript。而slot則被存放在了d_base中

PyWrapperDescrObject的type是PyWrapperDescr_Type,其中的tp_call是wrapperdescr_call,當(dāng)Python虛擬機(jī)調(diào)用一個(gè)descriptor時(shí),也就會(huì)調(diào)用wrapperdescr_call,對(duì)于descriptor的調(diào)用過(guò)程,后面還會(huì)詳細(xì)解析

建立聯(lián)系

排序后的結(jié)果仍然存放在slotdefs中,Python虛擬機(jī)就可以從頭到尾遍歷slotdefs,基于每一個(gè)slot建立一個(gè)descriptor,然后在tp_dict中建立從操作名到descriptor的關(guān)聯(lián),這個(gè)過(guò)程在add_operators中完成

typeobject.c

static int add_operators(PyTypeObject *type) {PyObject *dict = type->tp_dict;slotdef *p;PyObject *descr;void **ptr;//對(duì)slotdefs進(jìn)行排序init_slotdefs();for (p = slotdefs; p->name; p++) {//如果slot中沒(méi)有指定wrapper,則不處理if (p->wrapper == NULL)continue;//獲得slot對(duì)應(yīng)的操作在PyTypeObject中的函數(shù)指針ptr = slotptr(type, p->offset);if (!ptr || !*ptr)continue;//如果tp_dict中存在操作名,則放棄if (PyDict_GetItem(dict, p->name_strobj))continue;//創(chuàng)建descriptordescr = PyDescr_NewWrapper(type, p, *ptr);if (descr == NULL)return -1;//將(操作名,descriptor)放入tp_dict中if (PyDict_SetItem(dict, p->name_strobj, descr) < 0)return -1;Py_DECREF(descr);}if (type->tp_new != NULL) {if (add_tp_new_wrapper(type) < 0)return -1;}return 0; }

  

在add_operators中,首先會(huì)調(diào)用前面剖析過(guò)的init_slotdefs函數(shù)進(jìn)行排序,然后遍歷排序完后的slotdefs結(jié)構(gòu)體數(shù)組,對(duì)其中每一個(gè)slot(slotdef),通過(guò)slotptr獲得該slot對(duì)應(yīng)的操作在PyTypeObject中的函數(shù)指針,并接著創(chuàng)建descriptor,在tp_dict中建立從操作名(slotdef.name_strobj)到操作(descriptor)的關(guān)聯(lián)

需要注意的是,在創(chuàng)建descriptor之前,Python虛擬機(jī)會(huì)檢查在tp_dict中操作名是否已存在,如果已經(jīng)存在,則不會(huì)再次建立從操作名到操作的關(guān)聯(lián)。正是這種檢查機(jī)制與上面的排序機(jī)制相結(jié)合,使得Python虛擬機(jī)能夠在擁有相同操作名的多個(gè)操作中選擇優(yōu)先級(jí)最高的操作

在add_operators中,上面描述的動(dòng)作都很直觀(guān)、簡(jiǎn)單。而最難的動(dòng)作隱藏在slotptr這個(gè)函數(shù)中,它的功能是完成slot到slot對(duì)應(yīng)操作的真實(shí)函數(shù)指針的轉(zhuǎn)換。我們已經(jīng)知道,在slot中存放著操作的offset,但很不幸,這個(gè)offset是相對(duì)于PyHeadTypeObject的偏移,而操作的真實(shí)函數(shù)指針則在PyTypeObject中指定。更不幸的是,PyTypeObject和PyHeadTypeObject不是同構(gòu)的,因?yàn)镻yHeadTypeObject中包含了PyNumberMethods結(jié)構(gòu)體,而PyTypeObject中只包含了PyNumberMethods*指針。所以slot中存儲(chǔ)的這個(gè)關(guān)于操作的offset對(duì)于PyTypeObject來(lái)說(shuō),不可能直接使用,必須通過(guò)轉(zhuǎn)換

舉個(gè)例子,假如說(shuō)調(diào)用slotptr(&PyList_Type, offset(PyHeadTypeObject, mp_subscript)),首先判斷這個(gè)偏移大于offset(PyHeadTypeObject, as_mapping),所以會(huì)先從PyTypeObject對(duì)象中獲得as_mapping指針P,然后在P的基礎(chǔ)上進(jìn)行偏移就可以得到實(shí)際的函數(shù)地址了,而偏移量delta為:

delta = offset(PyHeadTypeObject, mp_subscript) - offset(PyHeadTypeObject, as_mapping)

  

這個(gè)復(fù)雜的轉(zhuǎn)換過(guò)程在slotptr中完成:

typeobject.c

static void ** slotptr(PyTypeObject *type, int ioffset) {char *ptr;long offset = ioffset;assert(offset >= 0);assert((size_t)offset < offsetof(PyHeapTypeObject, as_buffer));//判斷從PyHeapTypeObject中排后面的PySequenceMethods開(kāi)始if ((size_t)offset >= offsetof(PyHeapTypeObject, as_sequence)) {ptr = (char *)type->tp_as_sequence;offset -= offsetof(PyHeapTypeObject, as_sequence);}else if ((size_t)offset >= offsetof(PyHeapTypeObject, as_mapping)) {ptr = (char *)type->tp_as_mapping;offset -= offsetof(PyHeapTypeObject, as_mapping);}else if ((size_t)offset >= offsetof(PyHeapTypeObject, as_number)) {ptr = (char *)type->tp_as_number;offset -= offsetof(PyHeapTypeObject, as_number);}else {ptr = (char *)type;}if (ptr != NULL)ptr += offset;return (void **)ptr; }

  

為什么判斷首先從PySequenceMethods開(kāi)始,然后向前,依次判斷PyMappingMethods和PyNumberMethods呢?假如我們先從PyNumberMethods開(kāi)始判斷,如果一個(gè)操作的offset大于PyHeadTypeObject中as_number在PyNumberMethods的偏移量,那么我們還是沒(méi)有辦法確定在這個(gè)操作是屬于PyNumberMethods還是屬于PyMappingMethods或PySequenceMethods。只有從后往前進(jìn)行判斷,才能解決這個(gè)問(wèn)題

現(xiàn)在,我們摸清楚Python在改造PyTypeObject時(shí)對(duì)tp_dict做了什么,圖1-1顯示了PyList_Type完成初始化之后的整個(gè)布局,其中包括我們討論的descriptor和slot

圖1-1? ?add_operators完成之后的PyList_Type

在圖1-1中,PyList_Type.tp_as_mapping中延伸出去的部分是在編譯時(shí)已經(jīng)確定好的,而從tp_dict中延伸出去的部分是在Python運(yùn)行時(shí)環(huán)境初始化才建立的。

PyType_Ready在通過(guò)add_operators添加了PyTypeObject對(duì)象中定義了的一些操作后,還會(huì)通過(guò)add_methods、add_members、add_getset添加在PyTypeObject中定義的tp_methods、tp_members和tp_getset函數(shù)集,這些過(guò)程與add_operators類(lèi)似,不過(guò)最后添加到tp_dict中的descriptor就不再是PyWrapperDescrObject,而分別是PyMethodDescrObject、PyMemberDescrObject、PyGetSetDescrObject

圖1-1所顯示的class對(duì)象大部分正確,但還不算全部正確,考慮下面的例子:?

>>> class A(list): ... def __repr__(self): ... return "Python" ... >>> s = "%s" % A() >>> s 'Python'

  

熟悉Python的人都知道,__repr__是Python中的特殊方法。當(dāng)Python執(zhí)行表達(dá)式"s = '%s' %A()"時(shí),最終會(huì)調(diào)用A.tp_repr。如果按照?qǐng)D1-1的布局,并且對(duì)照PyList_Type,那么就應(yīng)該調(diào)用list_repr這個(gè)函數(shù),但并不是這樣的,Python虛擬機(jī)最終調(diào)用的是A中重寫(xiě)后的__repr__。這意味著,Python在初始化A時(shí),對(duì)tp_repr進(jìn)行了特殊處理。為什么Python虛擬機(jī)會(huì)知道要對(duì)tp_repr進(jìn)行特殊處理呢?答案還是在slot身上

在slotdefs中,有一條slot為T(mén)PSLOT:

typeobject.c

TPSLOT("__repr__", tp_repr, slot_tp_repr, wrap_unaryfunc, "x.__repr__() <==> repr(x)")

  

Python虛擬機(jī)在初始化A時(shí),會(huì)檢查<class A>的tp_dict中是否存在__repr__。在后面剖析用戶(hù)自定義的class對(duì)象時(shí),我們會(huì)看到,因?yàn)樵诙xclass A時(shí)重寫(xiě)__repr__這個(gè)操作,所以A.tp_dict中__repr__一開(kāi)始就會(huì)存在,Python虛擬機(jī)會(huì)檢測(cè)到它的存在。一旦檢測(cè)到__repr__存在,Python虛擬機(jī)將tp_repr這個(gè)函數(shù)指針替換為slot中指定的&slot_tp_repr。所以當(dāng)Python虛擬機(jī)調(diào)用A.tp_repr時(shí),實(shí)際上執(zhí)行的是slot_tp_repr

typeobject.c

static PyObject * slot_tp_repr(PyObject *self) {PyObject *func, *res;static PyObject *repr_str;//[1]:查找__repr__屬性func = lookup_method(self, "__repr__", &repr_str);if (func != NULL) {//[2]:調(diào)用__repr__對(duì)應(yīng)的對(duì)象res = PyEval_CallObject(func, NULL);Py_DECREF(func);return res;}PyErr_Clear();return PyString_FromFormat("<%s object at %p>",self->ob_type->tp_name, self); }

  

在slot_tp_repr中,會(huì)尋找__repr__屬性對(duì)應(yīng)的對(duì)象,正好就會(huì)找到我們?cè)贏中重寫(xiě)的函數(shù),這個(gè)對(duì)象其實(shí)是一個(gè)PyFunctionObject。這樣一來(lái),就完成了對(duì)默認(rèn)list的repr行為的替換,所以對(duì)A來(lái)說(shuō),其初始化結(jié)束后的內(nèi)存布局則如圖1-2所示:

圖1-2? ?初始化完成后的A

?

當(dāng)然,并是不會(huì)A中所有的操作都會(huì)有這樣的變化。A的其他操作還是會(huì)指向PyList_Type中指定的函數(shù),比如tp_iter還是會(huì)指向list_iter。對(duì)于A來(lái)說(shuō),這個(gè)變化是在fixup_slot_dispatchers(PyTypeObject* type)中完成的,對(duì)于內(nèi)置class對(duì)象,不會(huì)進(jìn)行這樣的操作,這個(gè)操作是屬于創(chuàng)建自定義class對(duì)象時(shí)的動(dòng)作

對(duì)于A來(lái)說(shuō),這個(gè)變化是在fixup_slot_dispatchers(PyTypeObject* type)中完成的,對(duì)于內(nèi)置class對(duì)象,不會(huì)進(jìn)行這樣的操作,這個(gè)操作是屬于創(chuàng)建自定義class對(duì)象時(shí)的動(dòng)作

確定MRO

所謂的MRO,即是指Method Resolve Order,更一般地,也是一個(gè)class對(duì)象的屬性解析順序。如果Python像java那樣僅支持單繼承,那就不是一個(gè)問(wèn)題了。但是Python是支持多繼承的,在多重繼承時(shí),就必須設(shè)置按照何種順序解析屬性,考慮如下Python代碼:

>>> class A(list): ... def show(self): ... print("A::show") ... >>> class B(list): ... def show(self): ... print("B::show") ... >>> class C(A): ... pass ... >>> class D(C, B): ... pass ... >>> d = D() >>> d.show() A::show

  

由于D的基類(lèi)A和B中都實(shí)現(xiàn)了show,那么在調(diào)用d.show()時(shí),究竟是調(diào)用A的show方法還是B的show方法呢?Python內(nèi)部在PyType_Ready中通過(guò)mro_internal函數(shù)完成了對(duì)一個(gè)類(lèi)型的mro順序的建立。Python虛擬機(jī)將創(chuàng)建一個(gè)tupple對(duì)象,在對(duì)象中依次存放著一組class對(duì)象。在tupple中,class對(duì)象的順序就是Python虛擬機(jī)在解析屬性時(shí)的mro順序。最終這個(gè)tupple將被保存在PyTypeObject.tp_mro中

對(duì)于上述的class D,Python虛擬機(jī)會(huì)在內(nèi)部創(chuàng)建一個(gè)list,其中根據(jù)D的聲明依次放入D和它的基類(lèi),如圖1-3所示:

圖1-3? ?D建立mro列表時(shí)Python虛擬機(jī)內(nèi)部的輔助list

?注意在list的最后一項(xiàng)存放著一個(gè)包含所有D的直接基類(lèi)列表。Python虛擬機(jī)將從左到右遍歷該list,當(dāng)訪(fǎng)問(wèn)到list中的任一個(gè)基類(lèi)時(shí),如果基類(lèi)存在mro列表,則會(huì)轉(zhuǎn)而訪(fǎng)問(wèn)基類(lèi)的mro列表。在訪(fǎng)問(wèn)的過(guò)程中,不斷將所訪(fǎng)問(wèn)到的class對(duì)象放入到D自身的mro列表中

我們跟蹤這個(gè)遍歷的過(guò)程來(lái)看一下:

  • mro列表(tp_mro)中沒(méi)有D,所以先獲得D
  • D的mro列表沒(méi)有C,所以放入C,現(xiàn)在Python虛擬機(jī)發(fā)現(xiàn)C中存在mro列表,所以轉(zhuǎn)而訪(fǎng)問(wèn)C的mro列表。:(1)D的mro列表中沒(méi)有A,放入A;(2)接下來(lái)是list,這里需要注意,盡管D的mro列表沒(méi)有l(wèi)ist,但是后面的B的mro列表中出現(xiàn)了list,那么Python虛擬機(jī)會(huì)跳過(guò)這里的list,將list的獲得推遲到處理B的mro列表時(shí);(3)list之后是object,同樣,將對(duì)object的處理推遲
  • D的mro列表中沒(méi)有B,所以放入B,轉(zhuǎn)而訪(fǎng)問(wèn)B的mro列表:(1)處理list,這時(shí)可以將list放入D的mro列表;(2)處理object,這時(shí)可以將object放入D的mro列表
  • 當(dāng)遍歷的過(guò)程結(jié)束后,D的mro列表也就存儲(chǔ)了一個(gè)class對(duì)象的順序列表了。從上面的遍歷過(guò)程可以看到,這個(gè)列表是(D、C、A、B、list、object),我們可以來(lái)驗(yàn)證一下:

    >>> for t in D.__mro__: ... print(t) ... <class '__main__.D'> <class '__main__.C'> <class '__main__.A'> <class '__main__.B'> <class 'list'> <class 'object'>

      

    圖1-4? ?展示不同順序下mro列表

    繼承基類(lèi)操作

    Python虛擬機(jī)確定了mro列表后,就會(huì)遍歷mro列表(注意,由于第一個(gè)class對(duì)象的mro列表的第一項(xiàng)總是其自身,所以遍歷是從第二項(xiàng)開(kāi)始的)。在mro列表中實(shí)際上還存儲(chǔ)的就是class對(duì)象的所有直接和間接基類(lèi),Python虛擬機(jī)會(huì)將class對(duì)象自身沒(méi)有設(shè)置而基類(lèi)中設(shè)置了的操作拷貝到class對(duì)象中,從而完成對(duì)基類(lèi)操作的繼承動(dòng)作:

    這個(gè)繼承操作的動(dòng)作發(fā)生在inherit_slots中

    typeobject.c

    int PyType_Ready(PyTypeObject *type) {……bases = type->tp_mro;n = PyTuple_GET_SIZE(bases);for (i = 1; i < n; i++) {PyObject *b = PyTuple_GET_ITEM(bases, i);if (PyType_Check(b))inherit_slots(type, (PyTypeObject *)b);}…… }

      

    在inherit_slots中,會(huì)拷貝相當(dāng)多的操作,這里我們拿nb_add來(lái)做個(gè)例子:

    typeobject.c

    static void inherit_slots(PyTypeObject *type, PyTypeObject *base) {PyTypeObject *basebase;#define SLOTDEFINED(SLOT) \(base->SLOT != 0 && \(basebase == NULL || base->SLOT != basebase->SLOT))#define COPYSLOT(SLOT) \if (!type->SLOT && SLOTDEFINED(SLOT)) type->SLOT = base->SLOT#define COPYNUM(SLOT) COPYSLOT(tp_as_number->SLOT)if (type->tp_as_number != NULL && base->tp_as_number != NULL) {basebase = base->tp_base;if (basebase->tp_as_number == NULL)basebase = NULL;COPYNUM(nb_add);……}…… }

      

    我們知道PyBool_Type中并沒(méi)有設(shè)置nb_add操作,但它的tp_base設(shè)置的是&PyInt_Type,而PyInt_Type中卻設(shè)置了nb_add操作。所以我們可以在PyType_Ready中添加輸出語(yǔ)句,當(dāng)處理type分別為bool和int時(shí),輸出其nb_add的地址,進(jìn)行驗(yàn)證。因?yàn)榘凑読nherit_slots的結(jié)果,這兩個(gè)地址應(yīng)該都指向同一個(gè)地址,即int_add的地址

    typeobject.c

    int PyType_Ready(PyTypeObject *type) {……for (i = 1; i < n; i++) {PyObject *b = PyTuple_GET_ITEM(bases, i);if (PyType_Check(b))inherit_slots(type, (PyTypeObject *)b);}//打印bool中的nb_add地址if (strcmp(type->tp_name, "bool") == 0) {printf("bool nb_add: 0x%X\n", *(type->tp_as_number->nb_add));}//打印int中的nb_add地址if (strcmp(type->tp_name, "int") == 0) {printf("int nb_add: 0x%X\n", *(type->tp_as_number->nb_add));}…… }

      

    然后打開(kāi)Python命令行,可以看到int類(lèi)型和bool類(lèi)型在初始化時(shí)打印其nb_add地址:

    # ./python int nb_add: 0x43C570 bool nb_add: 0x43C570

      

    這個(gè)結(jié)果預(yù)示著Python中的兩個(gè)bool對(duì)象,我們可以進(jìn)行加法操作

    填充基類(lèi)中的子類(lèi)列表

    到這里,PyType_Ready還剩下最后一個(gè)重要的動(dòng)作了:設(shè)置基類(lèi)中的子類(lèi)列表。在每一個(gè)PyTypeObject中,有一個(gè)tp_subclasses,這個(gè)東西在PyType_Type完成后將是一個(gè)list對(duì)象。其中存放著所有直接繼承該類(lèi)型的class對(duì)象。PyType_Ready通過(guò)調(diào)用add_subclass完成這個(gè)向tp_subclass中填充子類(lèi)對(duì)象的動(dòng)作

    typeobject.c

    int PyType_Ready(PyTypeObject *type) {PyObject *dict, *bases;PyTypeObject *base;Py_ssize_t i, n;……bases = type->tp_bases;……n = PyTuple_GET_SIZE(bases);for (i = 0; i < n; i++) {PyObject *b = PyTuple_GET_ITEM(bases, i);if (PyType_Check(b) &&add_subclass((PyTypeObject *)b, type) < 0)goto error;}…… }

      

    我們驗(yàn)證這個(gè)子類(lèi)列表的存在:?

    >>> int.__subclasses__() [<class 'bool'>] >>> object.__subclasses__() [<class 'type'>, <class 'weakref'>, <class 'weakcallableproxy'>, <class 'weakproxy'>, <class 'int'>, <class 'bytearray'>, <class 'bytes'>, <class 'list'>,…… >>>

      

    果然,object是萬(wàn)物之母,很多的類(lèi)都直接繼承于object。可以看到,Python虛擬機(jī)對(duì)Python的內(nèi)置類(lèi)型對(duì)應(yīng)的PyTypeObject進(jìn)行了多種復(fù)雜的改造工作,總結(jié)一下,主要包括:

    • 設(shè)置type信息,基類(lèi)及基類(lèi)列表
    • 填充tp_dict
    • 確定mro列表
    • 基于mro列表從基類(lèi)繼承操作
    • 設(shè)置基類(lèi)的子類(lèi)列表

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/beiluowuzheng/p/9621918.html

    總結(jié)

    以上是生活随笔為你收集整理的Python虚拟机类机制之descriptor(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    一区二区视频免费在线观看 | 九九热久久免费视频 | 99色在线观看视频 | av网站免费线看精品 | 超级碰碰碰视频 | www在线观看视频 | 国产香蕉视频 | 久久久久久久久福利 | 五月婷婷在线观看视频 | 97超碰超碰久久福利超碰 | 国内丰满少妇猛烈精品播放 | 日本午夜在线亚洲.国产 | 久久精品久久久久久久 | 91视频麻豆视频 | 日本黄色免费网站 | 国产精品永久免费在线 | 欧美在线观看小视频 | 伊人五月天综合 | 91大神在线观看视频 | 国产亚洲精品久久久久久无几年桃 | 国产99久 | 欧美天天综合网 | 亚洲精品乱码久久久久久蜜桃欧美 | 五月婷丁香 | 我爱av激情网 | 天天干人人干 | 青青草华人在线视频 | 国产91精品久久久久久 | 69av网| 91麻豆国产福利在线观看 | 色狠狠综合天天综合综合 | 中文字幕日韩国产 | 99国产精品一区 | 久久久久观看 | 国产一区二区高清 | 一区二区三区四区五区六区 | 欧美在线视频不卡 | 久久精品一二区 | 久久激情视频网 | www.黄色| 成人在线视频网 | 在线免费91 | 婷婷激情久久 | 在线看91| 在线播放 日韩专区 | 国产经典三级 | 国产精品永久免费观看 | 91自拍视频在线观看 | 色婷婷久久久 | 亚洲电影影音先锋 | 日本精品在线 | 成人久久毛片 | 狠狠色丁香婷婷综合最新地址 | 99综合影院在线 | 久久久久亚洲国产 | 亚洲毛片在线观看. | 最新黄色av网址 | 视频一区在线免费观看 | 日韩视频在线观看视频 | 久久精品一二三区白丝高潮 | 在线观看片 | 9色在线视频 | 免费a网| 人人舔人人干 | 91视频3p | 99精品视频播放 | 欧美一级片免费 | 91桃色免费观看 | 99在线精品观看 | 国产精品久久久久9999吃药 | 欧美另类xxxxx | 国产一级片免费观看 | 精品国产精品久久 | 日韩中文字幕免费在线播放 | 中文字幕在线播放日韩 | 欧美性另类 | 中文字幕综合在线 | 久久精品艹 | av动态图片 | 中文字幕av专区 | 视频在线一区 | av五月婷婷 | 又黄又爽又色无遮挡免费 | 国产五十路毛片 | 在线看黄色av | 欧美精品在线一区 | 久久福利电影 | 日韩欧美极品 | 国产精品久久久久久久妇 | 免费高清在线视频一区· | 欧美日韩aa| 福利av影院 | 国产香蕉在线 | 777视频在线观看 | 亚洲欧洲一区二区在线观看 | www.av免费| 国产精品激情在线观看 | 国产麻豆果冻传媒在线观看 | 视频三区在线 | 在线观看91精品国产网站 | 国产在线黄 | 美女啪啪图片 | 操老逼免费视频 | 国产成人久久av免费高清密臂 | 天天操天天色天天射 | 黄色精品国产 | 亚洲精品在线播放视频 | 日韩v在线91成人自拍 | 日韩久久久久久久久 | 91久久人澡人人添人人爽欧美 | 一区二区视频在线看 | 久久线视频 | 精品亚洲va在线va天堂资源站 | 久久久精品网站 | 国产精品专区在线 | a极黄色片 | 久久桃花网 | 国产91在线观| 天堂av中文字幕 | 97人人爽人人| 福利视频导航网址 | 国产精品va在线播放 | wwwwww色 | 欧美最新另类人妖 | 中文字幕一区二区三区久久蜜桃 | 91av在线不卡 | 国产女人40精品一区毛片视频 | 国产一区在线不卡 | 国产a视频免费观看 | 国产一级免费视频 | 国产福利免费看 | 国产在线中文字幕 | 中文字幕在线成人 | 日韩精品不卡在线观看 | 操操操日日日干干干 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 欧美在线一二区 | 久久兔费看a级 | 天天草天天操 | 日韩欧美高清一区二区三区 | 天天色天天操天天爽 | 亚洲专区中文字幕 | 99久久精品国 | 能在线看的av | 亚洲精品中文在线观看 | 91精品国产福利在线观看 | 91视频高清完整版 | 国产成人黄色网址 | 在线草 | 啪啪肉肉污av国网站 | 亚洲成色777777在线观看影院 | 麻豆视频入口 | 黄色毛片在线看 | 美女免费视频一区 | 国产精品美女免费视频 | 91在线色 | 999久久久久久久久久久 | 激情av一区二区 | 免费看片网址 | 在线视频亚洲 | 一级黄色片在线播放 | 激情五月播播久久久精品 | 色婷婷综合成人av | 日操干 | 一区二区三区影院 | 色综合久久66 | 香蕉视频在线免费 | 国产成人61精品免费看片 | 中文日韩在线视频 | 国产成人精品一区二区三区 | 日韩在线理论 | 丁香婷婷激情五月 | 免费观看成年人视频 | 999久久久免费视频 午夜国产在线观看 | 999成人国产 | 伊人久在线 | 天天天操天天天干 | 天天操天天干天天操天天干 | 成片免费观看视频大全 | 成人av观看 | 久久久久久久久久久成人 | 成人av中文字幕在线观看 | 在线免费高清一区二区三区 | 免费看网站在线 | av观看网站 | 国产精品毛片完整版 | 色偷偷88欧美精品久久久 | 国产精品第7页 | 国产黄色在线观看 | 日本久久成人中文字幕电影 | 91亚洲网站 | 中文资源在线官网 | 国产精品成人品 | 在线欧美日韩 | 黄色av免费| 亚洲激情视频在线观看 | 久草在线综合 | 中文av免费| 香蕉在线视频播放网站 | 亚洲男男gⅴgay双龙 | 综合色在线观看 | 97精品国产aⅴ| 久久黄色影视 | 国产xxxx性hd极品 | 亚洲国产字幕 | 中文字幕色婷婷在线视频 | 一区二区精品国产 | 久久久国产精品视频 | 久久公开免费视频 | 亚洲精品国产日韩 | 丰满少妇在线观看 | 91久久人澡人人添人人爽欧美 | 国产在线999 | 97在线观看免费观看 | 韩国av免费观看 | 中文字幕精品一区久久久久 | 久插视频 | 久久久久久久影视 | 国产精品麻豆视频 | 丁香婷婷激情五月 | 91成人久久| 国产精品成人一区二区三区 | 欧美日韩国产在线观看 | 美女网站视频免费都是黄 | 国产一区二区综合 | 成年人免费看 | 日韩狠狠操 | 91大神dom调教在线观看 | 国产小视频在线免费观看视频 | 国产亚洲免费观看 | 人人插人人| 久久免费国产精品 | 国产资源在线视频 | 天天爽夜夜爽精品视频婷婷 | 精品国产三级 | 色婷婷丁香 | 久久久香蕉视频 | 国产精品日韩久久久久 | 久久久精品日本 | 手机av在线不卡 | 日韩av在线小说 | 婷婷激情久久 | 午夜男人影院 | 久久久久久久久久影视 | 97在线公开视频 | 久草观看视频 | 欧美日韩不卡一区二区三区 | 亚洲国产精品电影 | 天天曰天天射 | 青青河边草免费 | 国产探花在线看 | 黄色视屏免费在线观看 | 狠狠色狠狠色综合日日小说 | 中文在线中文资源 | 精品色综合 | 国产精品一区二区久久国产 | 国产一区二区免费在线观看 | 91在线视频在线 | 日韩a在线播放 | 99热官网| 国模精品在线 | 久久久久久久久久久电影 | 最近中文字幕mv免费高清在线 | 国产美女在线观看 | 96国产在线 | 亚色视频在线观看 | 中文字幕久久精品一区 | 中文久久精品 | 国产精品免费视频一区二区 | 精品国产乱子伦一区二区 | 国产h在线观看 | 91热视频在线观看 | 五月婷婷爱 | 中文字幕电影高清在线观看 | 亚洲精品美女免费 | 最近免费中文字幕大全高清10 | 操久在线 | 日韩一级电影在线观看 | 色噜噜在线观看视频 | 中文字幕九九 | 黄色网www | 日韩成人免费电影 | 国内精品美女在线观看 | 五月天堂色 | 成人av在线直播 | 久久久午夜剧场 | 尤物一区二区三区 | 毛片在线播放网址 | 国产护士av | 九九热视频在线免费观看 | 久久情网| 久久久久久久国产精品视频 | 日韩久久精品 | 99久久国产免费,99久久国产免费大片 | 最新婷婷色 | 最新99热| 精品国产免费一区二区三区五区 | 婷婷在线观看视频 | 在线观看国产福利片 | 成人在线观看资源 | 91精品国产综合久久久久久久 | 国产精品免费视频观看 | 成人av网站在线观看 | 又黄又刺激视频 | 国产亚洲在线观看 | 国产精品久久久久久久久久久久冷 | 97成人超碰 | 尤物九九久久国产精品的分类 | 欧美孕妇与黑人孕交 | 91福利专区| 国产福利久久 | 日本公妇在线观看 | 国产高清免费观看 | 久久综合九色综合欧美狠狠 | 91成人在线视频 | www黄色软件 | 精品视频免费播放 | 日本精品视频在线 | 日韩高清成人在线 | 国产亚洲视频在线免费观看 | 久久国产精品免费看 | 日韩欧美视频在线免费观看 | 六月激情| 国产一级91 | 天天鲁天天干天天射 | 国产精品国内免费一区二区三区 | 日本久久久久久久久久 | 国产97色 | 免费视频色 | 一区二区中文字幕在线播放 | 久草久热| 九九九九九精品 | 亚洲午夜久久久综合37日本 | 国产精品久久久久久吹潮天美传媒 | .国产精品成人自产拍在线观看6 | 2019av在线视频 | 亚洲精品中文字幕在线观看 | 成年人视频在线免费观看 | 欧美精品在线观看免费 | 久草免费电影 | 丁香色综合 | 日韩免费看视频 | 国产亚洲成人网 | 成年人电影毛片 | 操操操影院 | 人人爽人人爽人人片av免 | 国产aaa毛片| 婷婷六月丁香激情 | 手机在线小视频 | 国产三级精品在线 | 六月丁香六月婷婷 | 一区 二区 精品 | 97精品视频在线播放 | 九九综合九九 | 国产一区二区视频在线播放 | 欧美成人tv | 国产精品岛国久久久久久久久红粉 | 99视频国产精品 | 国产精品久久一区二区三区, | 久久国产经典视频 | 国产精品av在线免费观看 | 久久久久久久久久国产精品 | 日韩精品久久久免费观看夜色 | 欧美在线观看视频免费 | 亚洲天堂香蕉 | 精品久久久久一区二区国产 | 成人黄色片在线播放 | 特级西西444www大精品视频免费看 | 日韩成人免费在线电影 | 天天拍天天爽 | 欧美日韩高清在线观看 | 黄色a级片在线观看 | 久久国产精品第一页 | 五月婷婷婷婷婷 | 99精品免费视频 | 国产精品久久久久aaaa | 香蕉视频免费在线播放 | 天天操天天操天天操天天操 | 久久精品视频免费 | 超碰在线9 | 国产一级在线播放 | 亚洲视频免费在线观看 | 日韩免费观看视频 | 国产精品久久久久一区二区 | 国产一区高清在线观看 | 96av在线视频 | 国产亚洲精品久久久网站好莱 | 六月色丁 | 国产剧情在线一区 | 天天干天天摸天天操 | 久久国产二区 | 四虎影院在线观看av | 国产一区二区高清不卡 | 啪一啪在线 | 午夜精品久久久久久久久久久久久久 | 亚洲人精品午夜 | 久久美女免费视频 | 波多野结衣视频一区二区 | 91超级碰碰 | 国产视频一区二区在线播放 | 又黄又刺激的视频 | 色婷婷综合视频在线观看 | 伊在线视频 | 国产999精品久久久影片官网 | 国产精品久久久久久久妇 | www.久久精品视频 | 久久久久久综合 | 日韩在线观看第一页 | 香蕉网在线播放 | 91夫妻视频| 天天天干夜夜夜操 | 国产一区二区三区在线免费观看 | 久久日本视频 | 五月天天av | 播五月综合 | av天天在线观看 | 91成人精品一区在线播放69 | 天堂av免费观看 | 97人人澡人人添人人爽超碰 | av在线激情| 在线中文视频 | 欧美日韩不卡在线视频 | 亚洲国产网站 | 国产精品乱码一区二三区 | av免费播放| 在线观看免费版高清版 | 在线观看av国产 | 国产免费观看高清完整版 | 日韩 在线a | 91一区二区在线 | 亚洲人在线 | 欧美色图88 | 激情综合色综合久久 | 欧美视频在线二区 | 国产高清在线看 | 欧美日韩在线播放 | 贫乳av女优大全 | 999国产在线| 精品久久1 | 国产香蕉视频在线播放 | 亚洲视频高清 | 日本久久久久久科技有限公司 | 99草在线视频 | 狠狠狠色丁香婷婷综合久久五月 | 久久精品国产免费看久久精品 | 深爱激情五月婷婷 | 日韩a在线观看 | 一区二区 不卡 | www.在线看片.com | 超碰公开在线 | 人人草天天草 | www.狠狠插.com | 最近中文字幕免费视频 | 99中文字幕 | 久久最新视频 | 日韩精品无 | 深夜福利视频在线观看 | 国产原厂视频在线观看 | 免费观看黄 | 亚洲精品黄色 | 视频国产 | 国产精品免费在线播放 | 国产99久久久精品 | 国产高清一 | www.亚洲精品视频 | 天天狠狠操| 视频在线观看入口黄最新永久免费国产 | 麻豆视频网址 | 日本中文一区二区 | 一区 在线观看 | 久草在线电影网 | 免费网站观看www在线观看 | 一区二区三区视频 | 成年人免费看片网站 | 亚洲va综合va国产va中文 | 99久久www| 日韩亚洲欧美中文字幕 | 亚洲高清在线观看视频 | 天天色欧美| a极黄色片 | 精品国自产在线观看 | 97视频在线免费观看 | 玖玖精品在线 | 69精品久久久| 日韩欧美亚洲 | 欧美日韩免费网站 | 超碰97人 | 99久久精品电影 | 天天操天天草 | 99久久精品无码一区二区毛片 | 激情五月婷婷激情 | 免费91麻豆精品国产自产在线观看 | 国产精品国产三级国产专区53 | 色综合天天狠天天透天天伊人 | 亚洲精品乱码久久久久久9色 | 免费观看性生活大片 | 国产性xxxx | 国产一级片久久 | 在线观看日本高清mv视频 | 日本特黄一级片 | 亚洲乱码国产乱码精品天美传媒 | 亚洲精品动漫久久久久 | 午夜免费电影院 | 狠狠色狠狠综合久久 | 亚洲最新在线视频 | 国产一级片网站 | 免费三级骚 | 91在线免费公开视频 | 懂色av一区二区在线播放 | 欧美在线视频二区 | 日韩在线电影 | 国产精品毛片久久久久久 | 国产小视频在线观看 | 亚洲精品视频网址 | 园产精品久久久久久久7电影 | 中文字幕123区 | 四虎成人精品在永久免费 | 久久精品一区二区三区视频 | 看黄色.com| 国产高清福利在线 | 五月婷婷亚洲 | 91热爆在线观看 | 97免费在线观看视频 | 久久激情小说 | 久久久久二区 | 视频三区| 久久公开免费视频 | 91在线看| 欧美精品第一 | av在线观| 久久影院一区 | 3d黄动漫免费看 | 在线精品视频免费播放 | 久久www免费人成看片高清 | 欧美日韩网站 | 97超碰精品 | 国产视频在线播放 | 午夜视频久久久 | 免费黄色av.| 色小说av| 亚洲乱码精品 | 欧美久草视频 | 国产美腿白丝袜足在线av | 成人免费在线视频观看 | 欧美黑人巨大xxxxx | 国产精品尤物视频 | 香蕉网在线观看 | 亚洲成人免费观看 | 黄色午夜| 成人激情开心网 | 天天操天天添 | 热re99久久精品国产66热 | 91九色视频在线观看 | 伊人小视频 | 九九九在线 | 偷拍精品一区二区三区 | 久久成人国产精品免费软件 | 久久99视频免费 | 久久久免费精品视频 | 97超碰人人澡 | 2019免费中文字幕 | 国产精品毛片久久 | 精品国产免费看 | 国产午夜在线观看视频 | 久草91视频 | 国产日本在线观看 | 欧美亚洲精品在线观看 | 91丨九色丨丝袜 | 日韩和的一区二在线 | 久久精久久精 | 日本精品视频在线 | 在线成人免费av | 在线黄色国产 | 丝袜美女在线 | 婷婷久久综合九色综合 | 久久99久久精品 | 韩国av一区二区 | 午夜av片 | 亚洲精品国产第一综合99久久 | 天天干天天操天天干 | 国产精品久久久久久久久久尿 | 国产99久久九九精品免费 | 在线观看一区视频 | 婷婷综合视频 | 久久看片网站 | 狠狠狠狠狠狠狠狠干 | 久久久久久草 | 91成人精品一区在线播放69 | 一级成人免费视频 | 99久久婷婷国产综合亚洲 | 成年人在线视频观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 亚洲精品99久久久久中文字幕 | av超碰在线 | 97视频在线观看视频免费视频 | 久久99热这里只有精品 | 亚洲砖区区免费 | 91av在线看| 国产一区国产精品 | 国产精品乱码久久久 | 99热在线观看 | 日韩在线免费视频 | 精品欧美一区二区精品久久 | 高清国产一区 | 狠狠色丁香婷婷综合视频 | 日韩小视频 | 人人澡人人添人人爽一区二区 | 91久久久久久久一区二区 | 天天草天天色 | 国产在线理论片 | 天天插夜夜操 | 日韩成人免费在线观看 | 日韩免费电影一区二区三区 | 97人人射| 黄色片免费看 | 亚洲视频一区二区三区在线观看 | 一区二区三区免费在线观看视频 | 国产精品久久久久久久免费 | 美女视频黄是免费的 | 91看成人 | 天天操天天操天天操天天操天天操 | 视频一区二区国产 | 精品国产诱惑 | 国产在线观看免费 | 亚洲成aⅴ人片久久青草影院 | 99热在线免费观看 | 国产精品福利一区 | 四虎在线影视 | 国产三级精品三级在线观看 | 日日摸日日 | 射久久| 黄色精品久久久 | 亚洲国产成人精品电影在线观看 | 日韩色爱| 午夜免费福利片 | 国产麻豆果冻传媒在线观看 | 日韩视频在线观看免费 | 免费中文字幕视频 | 在线观看国产 | 久久精品久久精品久久精品 | 久久久久久久综合色一本 | 最近中文字幕免费视频 | 欧美综合久久 | 久久av网址 | 狠狠色丁香婷婷综合欧美 | www.五月天激情 | 久久一区二区三区超碰国产精品 | 国产精品久久一区二区三区不卡 | 福利一区二区 | 狠狠干狠狠插 | 天堂av最新网址 | 日韩高清成人 | 欧美狠狠色 | 午夜av日韩 | 免费观看不卡av | 久久久网址 | 狠狠色狠狠综合久久 | 亚洲影院国产 | 成人av直播 | 久久国产免| 一区二区视频免费在线观看 | 久草精品网 | 国产精品热 | 亚洲精品女人 | 韩国视频一区二区三区 | 成人蜜桃网| 成年人网站免费在线观看 | 99久久精品免费看国产一区二区三区 | 欧美韩日在线 | 特级黄色视频毛片 | 国产最顶级的黄色片在线免费观看 | 特黄特色特刺激视频免费播放 | 在线播放 日韩专区 | 国产免费一区二区三区网站免费 | 国产精品久久久一区二区 | 亚洲精品高清在线 | 毛片视频网址 | 在线激情小视频 | 久久黄网站 | 日韩性色 | 国产精品免费看久久久8精臀av | 婷婷www | 国产精品视频观看 | 成人免费网视频 | 超碰久热 | 国产美女主播精品一区二区三区 | 最新av在线播放 | wwxxxx日本 | 欧美伦理一区二区 | 久久精品一区二区国产 | 蜜桃av综合网| 久久久久久久久久久影院 | 久久99精品一区二区三区三区 | 欧美日韩视频在线一区 | 99热.com | 日韩av免费观看网站 | 亚洲免费成人 | 国产精品九九久久99视频 | 91香蕉亚洲精品 | 九九免费精品视频 | 国产伦理精品一区二区 | 亚洲一区二区三区精品在线观看 | 韩国精品视频在线观看 | 日日干天天 | av成人在线网站 | 亚洲国产精品va在线看黑人 | 国产精品久久久免费看 | 精品免费视频123区 午夜久久成人 | 久久九精品 | 国产一级在线免费观看 | 国产精品18久久久久白浆 | 国产91精品在线观看 | 中文字幕专区高清在线观看 | 成人h动漫精品一区二 | 99热这里精品| 欧美a视频在线观看 | av成人黄色| 婷香五月 | 久久久精品网站 | 久久久久国产精品一区二区 | 特级西西www44高清大胆图片 | 亚洲成人黄色在线 | 99久久精品免费看国产一区二区三区 | 狠色在线 | 久久久国产精品成人免费 | 日韩精品欧美视频 | 国产做aⅴ在线视频播放 | av一级片在线观看 | 久久久午夜精品福利内容 | 黄色在线观看免费网站 | 国产小视频你懂的在线 | www.午夜视频| 一级黄色av | 中文字幕人成乱码在线观看 | 黄色成品视频 | 国产麻豆电影 | 亚洲国产精品500在线观看 | 国产精品久久99精品毛片三a | 一区二区三区在线观看免费 | 中文字幕专区高清在线观看 | 尤物九九久久国产精品的分类 | 91香蕉视频色版 | 久久久国产精品免费 | 国产黄色免费观看 | 欧美亚洲国产精品久久高清浪潮 | 国产精品不卡视频 | 国产在线播放不卡 | 香蕉影院在线观看 | 欧美成a人片在线观看久 | 亚洲2019精品 | 蜜臀av麻豆 | 九九九在线观看 | 97超碰福利久久精品 | 午夜精品一区二区三区视频免费看 | 色先锋资源网 | 在线不卡中文字幕播放 | 欧美亚洲成人xxx | 欧美精品一区二区三区四区在线 | 视频成人永久免费视频 | 黄色a大片 | 韩日电影在线 | a久久久久久| 午夜av网站 | 玖玖精品视频 | 国产精品v欧美精品v日韩 | 99久久精品免费看 | 香蕉视频在线免费 | 日韩欧美电影 | 91丨九色丨国产在线观看 | 91精品国自产在线观看 | 日韩女同一区二区三区在线观看 | 亚洲精品资源 | 黄色小网站在线 | 在线成人免费电影 | 婷婷丁香自拍 | 亚洲综合在线五月 | 久久视频一区 | 久久国产热 | 五月婷婷激情六月 | 久久综合九色综合97_ 久久久 | 欧美精品久久久久久久久久白贞 | 久久国产精品免费一区二区三区 | 99精品视频免费在线观看 | 一区二区视频在线观看免费 | 九九久久免费 | h动漫中文字幕 | 人人超在线公开视频 | 国产精彩视频一区二区 | 手机在线看片日韩 | 日韩一区二区三区高清在线观看 | 美女免费网视频 | 日韩免费一区二区在线观看 | 麻花豆传媒一二三产区 | 国产精品爽爽爽 | 美女久久久久 | 人人搞人人爽 | 伊人日日干 | 91大神免费视频 | 米奇四色影视 | 这里只有精彩视频 | 99视频在线精品国自产拍免费观看 | 欧美日韩伦理一区 | av电影免费观看 | 久久免费观看视频 | 456成人精品影院 | 日韩av影视在线观看 | 国产不卡免费视频 | 黄色网在线免费观看 | 91精品国产一区 | 日本精品视频一区二区 | 国产精品色婷婷视频 | 欧美不卡视频在线 | 日韩在线在线 | 日韩网| 亚洲婷婷伊人 | 国产日韩高清在线 | 中文字幕观看在线 | 久久久久久久久久久久久久免费看 | 亚洲精品国产成人 | 免费看片在线观看 | 97超碰免费在线观看 | 国产在线观看午夜 | 日韩精品久久久 | 日本中文字幕免费观看 | 激情网站免费观看 | 欧美精品二| 中文字幕国内精品 | 亚洲黄在线观看 | 在线97| 日韩欧美视频一区二区 | 手机在线观看国产精品 | 在线你懂的视频 | 成人黄色免费在线观看 | 麻豆一精品传二传媒短视频 | 欧美激情va永久在线播放 | 日本aa在线| 国产午夜av | 激情文学综合丁香 | 韩国精品在线 | 麻豆久久精品 | 国产精品v a免费视频 | 日日夜夜爱| 中文字幕资源网在线观看 | 高潮久久久久久久久 | 欧美午夜精品久久久久久浪潮 | 久久精品视频中文字幕 | 中文字幕在线不卡国产视频 | 日韩在线免费播放 | 亚洲天天综合 | 97视频免费在线 | 一级黄色在线免费观看 | 大片网站久久 | 日韩一区二区三区在线观看 | 日日夜夜精品网站 | 亚洲九九精品 | 国产原创在线 | av免费观看高清 | 黄色特一级片 | 欧美色图东方 | 亚洲黄色小说网 | 久久不射网站 | 国产免费专区 | 欧美伦理一区二区三区 | 国产九九精品视频 | 久久久久久久久久久久99 | 亚洲1区在线| 久久久久久久电影 | 亚洲天天草| 热久久影视 | 精品自拍网 | 久久国产精品久久w女人spa | 成人免费网视频 | 日韩精品五月天 | 在线观看视频一区二区三区 | 免费在线观看av网站 | 精品免费久久 | 日韩中文字幕在线不卡 | 国产中文字幕久久 | 超碰97网站 | 高潮久久久| 久久综合狠狠综合久久激情 | 国产亚洲情侣一区二区无 | 98久9在线 | 免费 | 亚洲精品中文在线资源 | a资源在线 | 91亚洲精品久久久中文字幕 | 午夜精品一二三区 | 天天干天天干天天操 | 久久国产精品一国产精品 | 国产aaa毛片| 日韩精品一二三 | 人人爱爱人人 | 免费av网站在线看 | 亚洲精色 | 高清av不卡 | 丁香六月婷婷激情 | 精品国产欧美一区二区三区不卡 | 日日夜夜亚洲 | 黄色小说视频网站 | 日韩av中文字幕在线 | 久草资源在线 | 国产精品激情在线观看 | 高清av影院 | 久久av影视 | 中文字幕亚洲精品在线观看 | 欧美一级电影片 | 91中文字幕在线观看 | 精品在线播放视频 | a在线v| 日本精品久久久一区二区三区 | 成人免费看片网址 | 西西大胆免费视频 | 国产精品一区二区你懂的 | 亚洲欧美少妇 | 一级黄色免费网站 | 国产亚洲精品精品精品 | 天天亚洲综合 | 国产精品福利小视频 | 国产精品乱码久久久久久1区2区 | 欧美黑吊大战白妞欧美 | 成人网页在线免费观看 | 亚洲欧美在线观看视频 | 色综合天天综合网国产成人网 | 精品国产成人在线 | 国产精品成人一区二区三区 | 中文字幕日韩电影 | 精品v亚洲v欧美v高清v | 天天射天天舔天天干 | 黄色小说18| 五月婷婷国产 | 黄色91免费观看 | av中文字幕不卡 | 国产精品久久久久久久久久免费 | 日本中出在线观看 | 黄色成年片 | 欧美无极色 | 99欧美精品 | 亚洲欧洲日韩在线观看 | 91麻豆精品国产91久久久无限制版 | 97韩国电影 | 天天av在线播放 | 日韩av在线一区二区 | 成人久久毛片 | 国产a精品 | 99 色| 精品国产日本 | 久久精品日本啪啪涩涩 | 青青久草在线 | 日本精品久久 | 成人免费看片98欧美 | 国产中文字幕网 | 婷婷av网站| 国产麻豆精品95视频 | 激情久久五月天 | 精品国内 | 手机看片99 | 超碰97免费观看 | 亚洲一区二区三区miaa149 | 久九视频 | 国产成人专区 | 日韩高清在线不卡 | 日本黄网站 | 国产精品三级视频 | 国产91影院| 午夜视频99| 久久手机在线视频 | 亚洲三级视频 | 91高清完整版在线观看 | 精品主播网红福利资源观看 | 高清av网站| 久久国产精品久久久久 | 综合久久影院 | 国产日产精品一区二区三区四区的观看方式 | 亚洲精品视频在线免费播放 | 九九免费在线看完整版 | 91一区二区在线 | 久久影视中文字幕 | 亚洲国产成人久久综合 | 婷婷激情av| 成人av电影免费在线播放 | 国产99久久久精品视频 | 欧美日韩精品国产 | 国产成人99久久亚洲综合精品 | 黄色a在线 | 欧美激情精品久久久久 | 国产成人精品一区二区三区在线 | 国产视频在线观看一区 | 精品久久国产 | 91成人天堂久久成人 | 91在线免费观看国产 | 天天综合天天做天天综合 | 久久精品国产成人精品 | 日韩字幕在线 | 色婷婷狠狠18 | 狠狠色狠狠色综合系列 | 在线观看免费av片 | 国产成人精品一二三区 | 欧美日韩高清一区 |