
    AVh
                    c   d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZm Z m!Z! ddl"m#Z# dxde#e!ejH                  f   fdZ%  ed       ejL                  e%            Z'de#e!ejH                  f   fdZ( ejR                  dddg      Z*dxdZ+  ed       ejL                  e+            Z,d Z-dxde#e!ejH                  f   fdZ.  ed       ejL                  e.            Z/de#e!ejH                  f   fdZ0 ejR                  dddg      Z1dxdZ2  ed        ejL                  e2            Z3d! Z4 ejR                  d"ddg      Z5dxd#Z6  ed$       ejL                  e6            Z7d% Z8dxde#e!ejH                  f   fd&Z9  ed'       ejL                  e9            Z:de#e!ejH                  f   fd(Z; ejR                  d)ddg      Z<dxd*e#e!ejz                  f   d+e#e!ejz                  f   fd,Z>  ed-       ejL                  e>            Z?d*e#e!ejz                  f   d+e#e!ejz                  f   fd.Z@ ejR                  d/ddg      ZAdxd*e#e!ejz                  f   d+e#e!ejz                  f   d0e#e!ej                  f   fd1ZC  ed2       ejL                  eC            ZDd*e#e!ejz                  f   d+e#e!ejz                  f   d0e#e!ej                  f   fd3ZEdyd4e#e!ej                  f   d5e#e!ejz                  f   d6eGde#e!ej                  f   fd7ZH  ed8       ejL                  eH            ZId4e#e!ej                  f   d5e#e!ejz                  f   d6eGde#e!ej                  f   fd9ZJdzd4e#e!ej                  f   d5e#e!ejz                  f   d;e#e!ej                  f   d<eKd6eGde#e!ej                  f   fd=ZL  ed>       ejL                  eL            ZMd4e#e!ej                  f   d5e#e!ejz                  f   d;e#e!ej                  f   d<eKd6eGde#e!ej                  f   fd?ZNdyd4e#e!ej                  f   d@e#e!ej                  f   d6eGde#e!ej                  f   fdAZP  edB       ejL                  eP            ZQd4e#e!ej                  f   d@e#e!ej                  f   d6eGde#e!ej                  f   fdCZRdyd4e#e!ej                  f   d@e#e!ej                  f   dDe#e!ejH                  f   d6eGde#e!ej                  f   f
dEZS  edF       ejL                  eS            ZTd4e#e!ej                  f   d@e#e!ej                  f   dDe#e!ejH                  f   d6eGde#e!ej                  f   f
dGZUdyd4e#e!ej                  f   dHe#e!ej                  f   d6eGde#e!ej                  f   fdIZV  edJ       ejL                  eV            ZWd4e#e!ej                  f   dHe#e!ej                  f   d6eGde#e!ej                  f   fdKZXdyd4e#e!ej                  f   dLeGde#e!ejz                  f   fdMZY  edN       ejL                  eY            ZZd4e#e!ej                  f   dLeGde#e!ejz                  f   fdOZ[dxd4e#e!ej                  f   de#e!ej                  f   fdPZ]  edQ       ejL                  e]            Z^d4e#e!ej                  f   de#e!ej                  f   fdRZ_g d:d:dfd4e#e!ej                  f   dSeKdTeKde#e!ej                  f   fdUZ`  edV       ejL                  e`            Zad4e#e!ej                  f   dSeKdTeKde#e!ej                  f   fdWZbd{d4e#e!ej                  f   dXecdTeKde#e!ej                  f   fdYZd  edZ       ejL                  ed            Zed4e#e!ej                  f   dXecdTeKde#e!ej                  f   fd[Zfdyd\e#e!ej                  f   d6eGfd]Zg  ed^       ejL                  eg            Zhd\e#e!ej                  f   d6eGfd_Zidxde#e!ejH                  f   de#e!ej                  f   fd`Zj  eda       ejL                  ej            Zkde#e!ejH                  f   de#e!ej                  f   fdbZldxde#e!ejH                  f   de#e!ej                  f   fdcZm  edd       ejL                  em            Znde#e!ejH                  f   de#e!ej                  f   fdeZodxdfe#e!ejH                  f   dge#e e!   ejH                  f   de#e!ej                  f   fdhZp  edi       ejL                  ep            Zqdfe#e!ejH                  f   dge#e e!   ejH                  f   de#e!ej                  f   fdjZrdxde#e!ejH                  f   de#e!ej                  f   fdkZs  edl       ejL                  es            Ztde#e!ejH                  f   de#e!ej                  f   fdmZudxde#e!ejH                  f   de#e!ej                  f   fdnZv  edo       ejL                  ev            Zwde#e!ejH                  f   de#e!ej                  f   fdpZxdxdqe#e!ejH                  f   dre#e!ej                  f   fdsZy  edt       ejL                  ey            Zzdqe#e!ejH                  f   dre#e!ej                  f   fduZ{dxde#e!ejH                  f   fdvZ|  edw       ejL                  e|            Z}de#e!ejH                  f   fdxZ~dxde#e!ejH                  f   fdyZ  edz       ejL                  e            Zde#e!ejH                  f   fd{Zdxd4e#e!ej                  f   de#e!ej                  f   fd|Z  ed}       ejL                  e            Zd4e#e!ej                  f   de#e!ej                  f   fd~Zdyd4e#e!ej                  f   d6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   d6eGde#e!ej                  f   fdZd|d4e#e!ej                  f   deKde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   deKde#e!ej                  f   fdZdyde#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   d6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zde#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   d6eGde#e!ej                  f   fdZdyde#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ej                  f   d6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zde#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ej                  f   d6eGde#e!ej                  f   fdZdyd4e#e!ej                  f   d6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   d6eGde#e!ej                  f   fdZdyd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd6eGde#e!ej                  f   fdZdxd4e#e!ej                  f   de#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ej                  f   fdZdyd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   d6eGde#e!ej                  f   f
dZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   d6eGde#e!ej                  f   f
dZdxdeGdeGde#e!ejH                  f   fdZ  ed       ejL                  e            ZdeGdeGde#e!ejH                  f   fdZg g dfde#e!ej                  f   de#e!ejH                  f   fdZ  ed       ejL                  e            Zde#e!ej                  f   de#e!ejH                  f   fdZg g dfde#e!ej                  f   de#e!ejH                  f   fdZ  ed       ejL                  e            Zde#e!ej                  f   de#e!ejH                  f   fdZdxde#e!ejH                  f   fdZ  ed       ejL                  e            Zde#e!ejH                  f   fdZdxde#e!ejH                  f   de#e!ej                  f   fdZ  ed       ejL                  e            Zde#e!ejH                  f   de#e!ej                  f   fdZdxde#e!ejH                  f   fdZ  ed       ejL                  e            Zde#e!ejH                  f   fdZdxdqe#e!ejH                  f   de#e!ej                  f   fdZ  ed       ejL                  e            Zdqe#e!ejH                  f   de#e!ej                  f   fdZdxdeGdeGde#e!ejH                  f   fdZ  ed       ejL                  e            ZdeGdeGde#e!ejH                  f   fdZdxd\e#e!ej                  f   de#e!ejH                  f   fdZ  ed       ejL                  e            Zd\e#e!ej                  f   de#e!ejH                  f   fdZd}d4e#e!ej                  f   deKdeKdeKd6eGde#e!ej                  f   fdZ  edë       ejL                  e            Zd4e#e!ej                  f   deKdeKdeKd6eGde#e!ej                  f   fdĄZd~decfdƄZ  edǫ       ejL                  e            ZdecfdȄZdd4e#e!ej                  f   decdecdecde#e!ej                  f   f
d̄Z  edͫ       ejL                  e            Zd4e#e!ej                  f   decdecdecde#e!ej                  f   f
d΄ZdxdeGdeGde#e!ejH                  f   fdτZ  edЫ       ejL                  e            ZdeGdeGde#e!ejH                  f   fdфZg g dfde#e!ej                  f   de#e!ejH                  f   fd҄Z  edӫ       ejL                  eī            Zde#e!ej                  f   de#e!ejH                  f   fdԄZƐdxdfe#e!ejH                  f   de#e!ej                  f   de#e!ejz                  f   fdׄZ  edث       ejL                  eȫ            Zdfe#e!ejH                  f   de#e!ej                  f   de#e!ejz                  f   fdلZʐdxd\e#e!ej                  f   dfe#e!ejH                  f   de#e!ejz                  f   de#e!ejz                  f   fdۄZ  edܫ       ejL                  e˫            Zd\e#e!ej                  f   dfe#e!ejH                  f   de#e!ejz                  f   de#e!ejz                  f   fd݄Z͐dxdfe#e!ejH                  f   de#e!ej                  f   fdބZ  ed߫       ejL                  eΫ            Zdfe#e!ejH                  f   de#e!ej                  f   fdZАddeGdeGde#e!ejH                  f   fdZ  ed       ejL                  eѫ            ZdeGdeGde#e!ejH                  f   fdZg dfd4e#e!ej                  f   de#e!ej                  f   de#e!ej                  f   fdZ  ed       ejL                  eԫ            Zd4e#e!ej                  f   de#e!ej                  f   de#e!ej                  f   fdZg dfd4e#e!ej                  f   de#e!ej                  f   de#e!ej                  f   de#e!ej                  f   de#e!ej                  f   f
dZ  ed       ejL                  e׫            Zd4e#e!ej                  f   de#e!ej                  f   de#e!ej                  f   de#e!ej                  f   de#e!ej                  f   f
dZِdyd4e#e!ej                  f   deGd6eGde#e!ej                  f   fdZ  ed       ejL                  eګ            Zd4e#e!ej                  f   deGd6eGde#e!ej                  f   fdZܐdyd4e#e!ej                  f   d5e#e!ejz                  f   de#e e!   ejz                  f   d6eGde#e!ej                  f   f
dZ  ed       ejL                  eݫ            Zd4e#e!ej                  f   d5e#e!ejz                  f   de#e e!   ejz                  f   d6eGde#e!ej                  f   f
dZߐdzd4e#e!ej                  f   d5e#e!ejz                  f   de#e e!   ejz                  f   d;e#e!ej                  f   d<eKd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   d5e#e!ejz                  f   de#e e!   ejz                  f   d;e#e!ej                  f   d<eKd6eGde#e!ej                  f   fdZdd4e#e!ej                  f   d5e#e!ejz                  f   de#e!ejz                  f   d;e#e!ej                  f   d<eKdeGd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   d5e#e!ejz                  f   de#e!ejz                  f   d;e#e!ej                  f   d<eKdeGd6eGde#e!ej                  f   fdZdd4e#e!ej                  f   de#e!ejz                  f   deGd6eGde#e!ej                  f   f
dZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   deGd6eGde#e!ej                  f   f
d Zdzd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   deKd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   deKd6eGde#e!ej                  f   fdZdd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   deGd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   deGd6eGde#e!ej                  f   fdZdd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   d	e#e!ejz                  f   de#e!ejz                  f   deGd6eGde#e!ej                  f   fd
Z  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   d	e#e!ejz                  f   de#e!ejz                  f   deGd6eGde#e!ej                  f   fdZd}d4e#e!ej                  f   de#e!ej                  f   deKdeKdeKd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ej                  f   deKdeKdeKd6eGde#e!ej                  f   fdZdd4e#e!ej                  f   de#e!ejz                  f   deKdeGdeKdeKd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   deKdeGdeKdeKd6eGde#e!ej                  f   fdZdd4e#e!ej                  f   de#e!ejz                  f   decdeKdecd6eGde#e!ej                  f   fdZ  ed       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   decdeKdecd6eGde#e!ej                  f   fdZdde#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   d6eGdeKde#e!ej                  f   fdZ  ed       ejL                  e            Zde#e!ejz                  f   de#e!ejz                  f   de#e!ejz                  f   d6eGdeKde#e!ej                  f   fd Zdd4e#e!ej                  f   deKd6eGfd!Z  ed"       ejL                  e            Zd4e#e!ej                  f   deKd6eGfd#Z dyd4e#e!ej                  f   d$e#e!ejz                  f   d6eGde#e!ej                  f   fd%Z  ed&       ejL                  e            Zd4e#e!ej                  f   d$e#e!ejz                  f   d6eGde#e!ej                  f   fd'Zdxd4e#e!ej                  f   d(e#e!ej                  f   de#e!ej                  f   fd)Z  ed*       ejL                  e            Zd4e#e!ej                  f   d(e#e!ej                  f   de#e!ej                  f   fd+Zddqe#e!ejH                  f   dXecde#e!ej                  f   fd,Z  ed-       ejL                  e            Zdqe#e!ejH                  f   dXecde#e!ej                  f   fd.Z	dzd4e#e!ej                  f   d/e#e!ejz                  f   d0e#e!ejz                  f   d1eKd6eGde#e!ej                  f   fd2Z
  ed3       ejL                  e
            Zd4e#e!ej                  f   d/e#e!ejz                  f   d0e#e!ejz                  f   d1eKd6eGde#e!ej                  f   fd4Zdd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d$e#e!ejz                  f   d5eKd6eGde#e!ej                  f   fd6Z  ed7       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d$e#e!ejz                  f   d5eKd6eGde#e!ej                  f   fd8Zdd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d$e#e!ejz                  f   d9e#e!ejH                  f   d5eKd6eGde#e!ej                  f   fd:Z  ed;       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d$e#e!ejz                  f   d9e#e!ejH                  f   d5eKd6eGde#e!ej                  f   fd<Zdd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d5eKd6eGde#e!ej                  f   fd=Z  ed>       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d5eKd6eGde#e!ej                  f   fd?Zdyd4e#e!ej                  f   de#e!ejz                  f   d9e#e!ejH                  f   d6eGde#e!ej                  f   f
d@Z  edA       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   d9e#e!ejH                  f   d6eGde#e!ej                  f   f
dBZdd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d9e#e!ejH                  f   d5eKd6eGde#e!ej                  f   fdCZ  edD       ejL                  e            Zd4e#e!ej                  f   de#e!ejz                  f   d*e#e!ejz                  f   d+e#e!ejz                  f   d9e#e!ejH                  f   d5eKd6eGde#e!ej                  f   fdEZdyd4e#e!ej                  f   d$e#e!ejz                  f   d6eGde#e!ej                  f   fdFZ  edG       ejL                  e            Zd4e#e!ej                  f   d$e#e!ejz                  f   d6eGde#e!ej                  f   fdHZ edI ZdxdJe#e!ejz                  f   dKe#e!ef   dLe#e!ejz                  f   de#e!ej                  f   fdMZ   edN       ejL                  e             Z!dJe#e!ejz                  f   dKe#e!ef   dLe#e!ejz                  f   de#e!ej                  f   fdOZ"dyde#e!ej                  f   de#e!ej                  f   de#e!ejz                  f   d6eGde#e!ej                  f   f
dPZ#  edQ       ejL                  e#            Z$de#e!ej                  f   de#e!ej                  f   de#e!ejz                  f   d6eGde#e!ej                  f   f
dRZ%dyde#e!ej                  f   de#e!ej                  f   de#e!ejz                  f   dSe#e!ejz                  f   d6eGde#e!ej                  f   fdTZ&  edU       ejL                  e&            Z'de#e!ej                  f   de#e!ej                  f   de#e!ejz                  f   dSe#e!ejz                  f   d6eGde#e!ej                  f   fdVZ(dyd4e#e!ej                  f   d$e#e!ejz                  f   d6eGde#e!ej                  f   fdWZ)  edX       ejL                  e)            Z*d4e#e!ej                  f   d$e#e!ejz                  f   d6eGde#e!ej                  f   fdYZ+dyd6eGde#e!ej                  f   fdZZ,  ed[       ejL                  e,            Z-d6eGde#e!ej                  f   fd\Z.dd]eKd6eGdeKde#e!ej                  f   fd^Z/  ed_       ejL                  e/            Z0d]eKd6eGdeKde#e!ej                  f   fd`Z1dyde#e!ej                  f   de#e!ej                  f   de#e!ejz                  f   d6eGde#e!ej                  f   f
daZ2  edb       ejL                  e2            Z3de#e!ej                  f   de#e!ej                  f   de#e!ejz                  f   d6eGde#e!ej                  f   f
dcZ4dxdde#e!ej                  f   de#e!ej                  f   fdeZ5  edf       ejL                  e5            Z6dde#e!ej                  f   de#e!ej                  f   fdgZ7dyd4e#e!ej                  f   dhe#e!ejz                  f   die#e!ejz                  f   dje#e!ejz                  f   d;e#e!ej                  f   d6eGde#e!ej                  f   fdkZ8  edl       ejL                  e8            Z9d4e#e!ej                  f   dhe#e!ejz                  f   die#e!ejz                  f   dje#e!ejz                  f   d;e#e!ej                  f   d6eGde#e!ej                  f   fdmZ:dxde#e!ej                  f   fdnZ;  edo       ejL                  e;            Z<de#e!ej                  f   fdpZ=dxdde#e!ej                  f   de#e!ej                  f   fdqZ>  edr       ejL                  e>            Z?dde#e!ej                  f   de#e!ej                  f   fdsZ@dydte#e e!   ej                  f   d6eGde#e!ej                  f   fduZA  edv       ejL                  eA            ZBdte#e e!   ej                  f   d6eGde#e!ej                  f   fdwZCy(  zUPython wrappers around TensorFlow ops.

This file is MACHINE GENERATED! Do not edit.
    N)
pywrap_tfe)context)core)execute)dtypes)annotation_types)op_def_registry)ops)op_def_library)deprecated_endpoints)dispatch)	tf_export)TypeVarListAny)	Annotatedreturnc           	         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|d| d|      }|S t        | t        t        f      st!        d| z        | D cg c]  }t#        j$                  |d       } }t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}t)        j*                  d| ||      \  }	}	}
}|dd }t#        j,                         rHd|
j/                  d      d|
j/                  d      f}|
j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY wc c}w c c}w )	7  A container for an iterator resource.

  Args:
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  AnonymousIteratoroutput_typesoutput_shapesNr   r   namectxMExpected list for 'output_types' argument to 'anonymous_iterator' Op, not %r.NExpected list for 'output_shapes' argument to 'anonymous_iterator' Op, not %r.r   r   r   )_contextr   _thread_local_datais_eagerr   TFE_Py_FastPathExecute_core_NotOkStatusException_opsraise_from_not_ok_status_FallbackException!anonymous_iterator_eager_fallback_SymbolicException
isinstancelisttuple	TypeError_execute	make_type
make_shape_op_def_library_apply_op_helpermust_record_gradientget_attrinputsrecord_gradientr   r   r   _ctxtld_resulte_t_s__op_outputs_attrs_inputs_flats                 U/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/ops/gen_dataset_ops.pyanonymous_iteratorrD      s    
			0h..0$#\\11!4(g n 
L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-T'88,+8tE!QX QK'""$cll>:Oll?+-F::L\67<('	.A && -
##At,,## 
.#=t  ## 
 Q
 U<    E0 G$G)0F7FF76F7;G
 
G! G!zraw_ops.AnonymousIteratorc                    t        | t        t        f      st        d| z        | D cg c]  }t	        j
                  |d       } }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}g }d| d|f}t	        j                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S c c}w c c}w )	Nr   r   r   r   s   AnonymousIterator   r5   attrsr   r   r   
r*   r+   r,   r-   r.   r/   r0   r   r3   r6   	r   r   r   r   r<   r=   rB   rA   r:   s	            rC   r(   r(   Q   s   	L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-T,L/=I&11\#)s?'""$\67<('	. Q
 U   C$0C)AnonymousIteratorV2handledeleterc           	      (   t         j                   xs t        j                         }|j                  }|j                  r3	 t	        j
                  |d|d| d|      }t        j                  |      }|S t        | t         t"        f      st%        d| z        | D cg c]  }t'        j(                  |d       } }t        |t         t"        f      st%        d|z        |D cg c]  }t'        j*                  |d       }}t-        j.                  d| ||      \  }	}	}
}|dd }t'        j0                         rHd|
j3                  d      d|
j3                  d      f}|
j4                  }t'        j6                  d|||       t        j                  |      }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY wc c}w c c}w )	a  A container for an iterator resource.

  Args:
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (handle, deleter).

    handle: A `Tensor` of type `resource`.
    deleter: A `Tensor` of type `variant`.
  rM   r   r   Nr   PExpected list for 'output_types' argument to 'anonymous_iterator_v2' Op, not %r.QExpected list for 'output_shapes' argument to 'anonymous_iterator_v2' Op, not %r.r   )r   r   r    r!   r   r"   _AnonymousIteratorV2Output_maker#   r$   r%   r&   r'   $anonymous_iterator_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   s                 rC   anonymous_iterator_v2rV   k   s    
			0h..0$#\\	11#T><(g +009gn 
L4-	0
	.0<	=> > DPPR($$R8P,P	MD%=	1
	.0=	>? ? GTT8&&r?;T-T'88L-:G!QX QK'""$cll>:Oll?+-F::L|VW>&,,W5'	.A && -
##At,,## 
1#=t  ## 
 Q
 Us<    1F H
!HG)GGG!G0 0HHzraw_ops.AnonymousIteratorV2c                    t        | t        t        f      st        d| z        | D cg c]  }t	        j
                  |d       } }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}g }d| d|f}t	        j                  dd||||      }t	        j                         rt	        j                  d|||       t        j                  |      }|S c c}w c c}w )	NrQ   r   rR   r   s   AnonymousIteratorV2   rH   rM   )r*   r+   r,   r-   r.   r/   r0   r   r3   r6   rS   rT   rK   s	            rC   rU   rU      s   	L4-	0
	.0<	=> > DPPR($$R8P,P	MD%=	1
	.0=	>? ? GTT8&&r?;T-T,L/=I&3Q|#)s?'""$|VW>&,,W5'	. Q
 Us   C50C:c           	         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|d| d|      }|S t        | t        t        f      st!        d| z        | D cg c]  }t#        j$                  |d       } }t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}t)        j*                  d| ||      \  }	}	}
}|dd }t#        j,                         rHd|
j/                  d      d|
j/                  d      f}|
j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY wc c}w c c}w )	r   AnonymousIteratorV3r   r   Nr   PExpected list for 'output_types' argument to 'anonymous_iterator_v3' Op, not %r.QExpected list for 'output_shapes' argument to 'anonymous_iterator_v3' Op, not %r.r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   $anonymous_iterator_v3_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   s                 rC   anonymous_iterator_v3r^      s    
			0h..0$#\\11#T><(g n 
L4-	0
	.0<	=> > DPPR($$R8P,P	MD%=	1
	.0=	>? ? GTT8&&r?;T-T'88L-:G!QX QK'""$cll>:Oll?+-F::L|VW>('	.A && -
##At,,## 
1#=t  ## 
 Q
 UrE   zraw_ops.AnonymousIteratorV3c                    t        | t        t        f      st        d| z        | D cg c]  }t	        j
                  |d       } }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}g }d| d|f}t	        j                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S c c}w c c}w )	Nr[   r   r\   r   s   AnonymousIteratorV3rG   rH   rZ   rJ   rK   s	            rC   r]   r]      s   	L4-	0
	.0<	=> > DPPR($$R8P,P	MD%=	1
	.0=	>? ? GTT8&&r?;T-T,L/=I&3Q|#)s?'""$|VW>('	. Q
 UrL   AnonymousMemoryCachec                    t         j                   xs t        j                         }|j                  }|j                  r/	 t	        j
                  |d|       }t        j                  |      }|S t        j                   d|       \  }}}}|dd }t#        j$                         r&d}|j&                  }	t#        j(                  d|	||       t        j                  |      }|S # t        j                  $ r }t        j                  ||        Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |      S # t        j                  $ r Y w xY w)zTODO: add doc.

  Args:
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (handle, deleter).

    handle: A `Tensor` of type `resource`.
    deleter: A `Tensor` of type `variant`.
  r`   Nr   r   r    )r   r   r    r!   r   r"   _AnonymousMemoryCacheOutputrT   r#   r$   r%   r&   r'   %anonymous_memory_cache_eager_fallbackr)   r1   r2   r.   r3   r5   r6   
r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s
             rC   anonymous_memory_cacherh     s;    
			0h..0$#\\11$d,g+11':gn (88T+!QXQK'""$F::Lfg?'--g6'	.' && -
##At,,## 
2 ## 
s0    -C   D'3DD'&D'+D8 8EEzraw_ops.AnonymousMemoryCachec                     g }d }t        j                  dd||||       }t        j                         rt        j                  d|||       t        j                  |      }|S )Ns   AnonymousMemoryCacherX   rH   r`   )r.   r   r3   r6   re   rT   r   r   rB   rA   r:   s        rC   rf   rf   ;  sb    ,&4a#)s?'""$fg?'--g6'	.    AnonymousMultiDeviceIteratorc                    t         j                   xs t        j                         }|j                  }|j                  r5	 t	        j
                  |d|d| d|d|	      }t        j                  |      }|S t        | t         t"        f      st%        d| z        | D cg c]  }t'        j(                  |d       } }t        |t         t"        f      st%        d|z        |D 	cg c]  }	t'        j*                  |	d       }}	t        |t         t"        f      st%        d	|z        |D cg c]  }t'        j,                  |d       }}t/        j0                  d| |||
      \  }
}
}}|dd }t'        j2                         rYd|j5                  d      d|j5                  d      d|j5                  d      f}|j6                  }t'        j8                  d|||       t        j                  |      }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w c c}w )a  A container for a multi device iterator resource.

  Args:
    devices: A list of `strings` that has length `>= 1`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (handle, deleter).

    handle: A `Tensor` of type `resource`.
    deleter: A `Tensor` of type `variant`.
  rl   devicesr   r   Nrn   r   r   r   r   UExpected list for 'devices' argument to 'anonymous_multi_device_iterator' Op, not %r.ZExpected list for 'output_types' argument to 'anonymous_multi_device_iterator' Op, not %r.[Expected list for 'output_shapes' argument to 'anonymous_multi_device_iterator' Op, not %r.rn   r   r   r   )r   r   r    r!   r   r"   #_AnonymousMultiDeviceIteratorOutputrT   r#   r$   r%   r&   r'   .anonymous_multi_device_iterator_eager_fallbackr)   r*   r+   r,   r-   r.   make_strr/   r0   r1   r2   r3   r4   r5   r6   rn   r   r   r   r8   r9   r:   r;   r=   r<   r>   r?   r@   rA   rB   s                  rC   anonymous_multi_device_iteratorrx   K  s    
			0h..0$#\\	11,dIwo}Fg 499'Bgn 
GdE]	+
	8:A	BC C 9@@"Xr9-@'@	L4-	0
	8:F	GH H DPPR($$R8P,P	MD%=	1
	8:G	HI I GTT8&&r?;T-T'88&5A6C-1	3!QX
 QK'""$i0.ll>*Oll?+-F ::L&fgG/55g>'	.Q && -
##At,,## 
;%Dd< < ## 
 A
 Q
 UsB    3G1 I&#I+*I01H8HH87H8<I I#"I#z$raw_ops.AnonymousMultiDeviceIteratorc                    t        | t        t        f      st        d| z        | D cg c]  }t	        j
                  |d       } }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}g }d| d|d|f}t	        j                  dd||||	      }	t	        j                         rt	        j                  d
|||	       t        j                  |	      }	|	S c c}w c c}w c c}w )Nrp   rn   rq   r   rr   r   s   AnonymousMultiDeviceIteratorrX   rH   rl   )r*   r+   r,   r-   r.   rv   r/   r0   r   r3   r6   rt   rT   
rn   r   r   r   r   r=   r<   rB   rA   r:   s
             rC   ru   ru     st   	GdE]	+
	8:A	BC C 9@@"Xr9-@'@	L4-	0
	8:F	GH H DPPR($$R8P,P	MD%=	1
	8:G	HI I GTT8&&r?;T-T,wo&<a$0C"&(' ""$&fgG/55g>'	.+ A
 Q
 Us   D>0E7Ec                    t         j                   xs t        j                         }|j                  }|j                  r 	 t	        j
                  |d|d| d|d|	      }|S t        | t        t        f      st!        d| z        | D cg c]  }t#        j$                  |d       } }t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t        |t        t        f      st!        d	|z        |D cg c]  }t#        j(                  |d       }}t+        j,                  d| |||
      \  }
}
}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w c c}w )a|  A container for a multi device iterator resource.

  Args:
    devices: A list of `strings` that has length `>= 1`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  AnonymousMultiDeviceIteratorV3rn   r   r   Nro   XExpected list for 'devices' argument to 'anonymous_multi_device_iterator_v3' Op, not %r.]Expected list for 'output_types' argument to 'anonymous_multi_device_iterator_v3' Op, not %r.^Expected list for 'output_shapes' argument to 'anonymous_multi_device_iterator_v3' Op, not %r.rs   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   1anonymous_multi_device_iterator_v3_eager_fallbackr)   r*   r+   r,   r-   r.   rv   r/   r0   r1   r2   r3   r4   r5   r6   rw   s                  rC   "anonymous_multi_device_iterator_v3r     ss    
			0h..0$#\\11.io}Fg n 
GdE]	+
	;=D	EF F 9@@"Xr9-@'@	L4-	0
	;=I	JK K DPPR($$R8P,P	MD%=	1
	;=J	KL L GTT8&&r?;T-T'88('7C8E/3	5!QX
 QK'""$i0.ll>*Oll?+-F ::L(,I('	.Q && -
##At,,## 
>%Dd< < ## 
 A
 Q
 UsB    G I II
HG99HHH& &H=<H=z&raw_ops.AnonymousMultiDeviceIteratorV3c                 x   t        | t        t        f      st        d| z        | D cg c]  }t	        j
                  |d       } }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}g }d| d|d|f}t	        j                  dd||||	      }	t	        j                         rt	        j                  d
|||	       |	\  }	|	S c c}w c c}w c c}w )Nr}   rn   r~   r   r   r   s   AnonymousMultiDeviceIteratorV3rG   rH   r|   r*   r+   r,   r-   r.   rv   r/   r0   r   r3   r6   rz   s
             rC   r   r     sk   	GdE]	+
	;=D	EF F 9@@"Xr9-@'@	L4-	0
	;=I	JK K DPPR($$R8P,P	MD%=	1
	;=J	KL L GTT8&&r?;T-T,wo&>$0C"&(' ""$(,I('	.+ A
 Q
 Us   D-0D27D7AnonymousRandomSeedGeneratorseedseed2c                    t         j                   xs t        j                         }|j                  }|j                  r1	 t	        j
                  |d|| |      }t        j                  |      }|S t        j                   d| ||      \  }}}}	|	dd }t#        j$                         r&d}
|j&                  }t#        j(                  d||
|       t        j                  |      }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)a,  TODO: add doc.

  Args:
    seed: A `Tensor` of type `int64`.
    seed2: A `Tensor` of type `int64`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (handle, deleter).

    handle: A `Tensor` of type `resource`.
    deleter: A `Tensor` of type `variant`.
  r   Nrb   )r   r   r   rd   )r   r   r    r!   r   r"   #_AnonymousRandomSeedGeneratorOutputrT   r#   r$   r%   r&   r'   .anonymous_random_seed_generator_eager_fallbackr)   r1   r2   r.   r3   r5   r6   )r   r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s               rC   anonymous_random_seed_generatorr     sJ    
			0h..0$#\\11,dD%Ag399'Bgn (88&TTK!QXQK'""$F::L&fgG/55g>'	.' && -
##At,,## 
;
Dd, ,## 
s0    /C$ $D+7DD+*D+/D> >EEz$raw_ops.AnonymousRandomSeedGeneratorc                 Z   t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       t        j                  |      }|S )Ns   AnonymousRandomSeedGeneratorrX   rH   r   )
r%   convert_to_tensor_dtypesint64r.   r   r3   r6   r   rT   )r   r   r   r   rB   rA   r:   s          rC   r   r   =  s    			gmm	4$

 
 
6%,&<a$0C"&(' ""$&fgG/55g>'	.rk   AnonymousSeedGenerator	reshufflec                    t         j                   xs t        j                         }|j                  }|j                  r2	 t	        j
                  |d|| ||      }t        j                  |      }|S t        j                   d| |||      \  }}}	}
|
dd }t#        j$                         r&d}|	j&                  }t#        j(                  d|||       t        j                  |      }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY w)aV  TODO: add doc.

  Args:
    seed: A `Tensor` of type `int64`.
    seed2: A `Tensor` of type `int64`.
    reshuffle: A `Tensor` of type `bool`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (handle, deleter).

    handle: A `Tensor` of type `resource`.
    deleter: A `Tensor` of type `variant`.
  r   Nrb   )r   r   r   r   rd   )r   r   r    r!   r   r"   _AnonymousSeedGeneratorOutputrT   r#   r$   r%   r&   r'   'anonymous_seed_generator_eager_fallbackr)   r1   r2   r.   r3   r5   r6   )r   r   r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                rC   anonymous_seed_generatorr   P  sR    
			0h..0$#\\11&dE9Fg-33G<gn (88 t5I'+-!QX QK'""$F::L ,A)//8'	.) && -
##At,,## 
4
yt7 7## 
s0    0C& &D-9DD-,D-1E EEzraw_ops.AnonymousSeedGeneratorc                    t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}d }t        j                  dd||||      }t        j                         rt        j                  d|||       t        j                  |      }|S )Ns   AnonymousSeedGeneratorrX   rH   r   )r%   r   r   r   boolr.   r   r3   r6   r   rT   )r   r   r   r   r   rB   rA   r:   s           rC   r   r     s    			gmm	4$

 
 
6%$$Y=)y),&6$0C"&(' ""$ ,A)//8'	.rk   input_dataset
batch_sizemetadatac                 F   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )aA  Creates a dataset that batches `batch_size` elements from `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    batch_size: A `Tensor` of type `int64`.
      A scalar representing the number of elements to accumulate in a
      batch.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  BatchDatasetr   r   r   Nr   r   r   r   r   HExpected list for 'output_types' argument to 'batch_dataset' Op, not %r.IExpected list for 'output_shapes' argument to 'batch_dataset' Op, not %r. )r   r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   batch_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   batch_datasetr     sB     
			0h..0$#\\11ndM:~o}j(Lg n 
L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-THx4('88m
%1&3h!	#!QX
 QK'""$cll>:Oll?+Zll:&(F ::Lfg7('	.M && -
##At,,## 
)
,%tO O ## 
 Q
 U<     F" 	HH"G)5GG)(G)-G? ?HHzraw_ops.BatchDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w )Nr   r   r   r   r   r   s   BatchDatasetrG   rH   r   r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   variantr   r   r3   r6   )r   r   r   r   r   r   r   r<   r=   rB   rA   r:   s               rC   r   r     sZ   	L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-THx4(((H-%%j'--@*,,L/=h&_a#)s?'""$fg7('	.) Q
 U   E
0EFdrop_remainderparallel_copyc                    t         j                   xs t        j                         }|j                  }	|	j                  r%	 t	        j
                  |d|| ||d|d|d|d|      }
|
S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||	      \  }}}}|dd }
t#        j0                         rjd|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      f}|j6                  }t#        j8                  d|||
       |
\  }
|
S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||||||	      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset that batches `batch_size` elements from `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    batch_size: A `Tensor` of type `int64`.
      A scalar representing the number of elements to accumulate in a batch.
    drop_remainder: A `Tensor` of type `bool`.
      A scalar representing whether the last batch should be dropped in case its size
      is smaller than desired.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    parallel_copy: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  BatchDatasetV2r   r   r   r   N)r   r   r   r   r   r   KExpected list for 'output_types' argument to 'batch_dataset_v2' Op, not %r.LExpected list for 'output_shapes' argument to 'batch_dataset_v2' Op, not %r.Fr   )r   r   r   r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   batch_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   	make_boolrv   r1   r2   r3   _get_attr_boolr4   r5   r6   )r   r   r   r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                      rC   batch_dataset_v2r     s   & 
			0h..0$#\\	11mZo}j(Lg n 
L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-TM$$]OD-Hx4('88*)7'3(5(5#%!QX QK'""$s11/Bcll>:Oll?+Zll:&(F ::L,9('	.[ && -
##At,,## 
,
^%L%tO O ## 
 Q
 U<    #G IIH%H  HHH1 1IIzraw_ops.BatchDatasetV2c	                 *   t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j
                  |	d       }}	t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j                  |
d       }}
|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}d|d|d|d|f}t	        j                  d	d
||||      }t	        j                          rt	        j"                  d|||       |\  }|S c c}	w c c}
w )Nr   r   r   r   Fr   r   r   s   BatchDatasetV2rG   rH   r   r*   r+   r,   r-   r.   r/   r0   r   rv   r%   r   r   r   r   r   r   r3   r6   )r   r   r   r   r   r   r   r   r   r<   r=   rB   rA   r:   s                 rC   r   r   =  s   	L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-TM$$]OD-Hx4(((H-%%j'--@*)).',,G.^<,]NL=*h8&.,#)s?'""$,9('	.1 Q
 U   F0Ffilenamec                 F   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )aU  Creates a dataset that caches elements from `input_dataset`.

  A CacheDataset will iterate over the input_dataset, and store tensors. If the
  cache already exists, the cache will be used. If the cache is inappropriate
  (e.g. cannot be opened, contains tensors of the wrong shape / size), an error
  will the returned when used.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    filename: A `Tensor` of type `string`.
      A path on the filesystem where we should cache the dataset. Note: this
      will be a directory.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  CacheDatasetr   r   r   Nr   HExpected list for 'output_types' argument to 'cache_dataset' Op, not %r.IExpected list for 'output_shapes' argument to 'cache_dataset' Op, not %r.r   )r   r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   cache_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   cache_datasetr   ]  sB   * 
			0h..0$#\\11ndM8^o}j(Lg n 
L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-THx4('88mh%1&3h!	#!QX
 QK'""$cll>:Oll?+Zll:&(F ::Lfg7('	.M && -
##At,,## 
)
%tO O ## 
 Q
 Ur   zraw_ops.CacheDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w )Nr   r   r   r   r   r   s   CacheDatasetrG   rH   r   r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   r   stringr   r3   r6   )r   r   r   r   r   r   r   r<   r=   rB   rA   r:   s               rC   r   r     sZ   	L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-THx4(((H-##Hgnn=(*,L/=h&_a#)s?'""$fg7('	.) Q
 Ur   cachec                 L   t         j                   xs t        j                         }|j                  }|j                  r#	 t	        j
                  |d|| ||d|d|d|      }	|	S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| ||||||
      \  }}}}|dd }	t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w c c}w )a  TODO: add doc.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    filename: A `Tensor` of type `string`.
    cache: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  CacheDatasetV2r   r   r   Nr   KExpected list for 'output_types' argument to 'cache_dataset_v2' Op, not %r.LExpected list for 'output_shapes' argument to 'cache_dataset_v2' Op, not %r.r   )r   r   r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   cache_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r   r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   cache_dataset_v2r     sI    
			0h..0$#\\	11mXuo}Hg n 
L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-THx4('88 %L(5#	%!QX
 QK'""$cll>:Oll?+Zll:&(F ::L,9('	.M && -
##At,,## 
,
5|%tO O ## 
 Q
 U<    !F$ 
HH!$G+7GG+*G+/H HHzraw_ops.CacheDatasetV2c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j                  |	d       }}	|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}
d|d|d|f}t	        j                  dd|
|||	      }t	        j                         rt	        j                   d
|
||       |\  }|S c c}w c c}	w )Nr   r   r   r   r   r   s   CacheDatasetV2rG   rH   r   )r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   r   r   resourcer   r3   r6   )r   r   r   r   r   r   r   r   r<   r=   rB   rA   r:   s                rC   r   r     su   	L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-THx4(((H-##Hgnn=(

 
 (8(8
9%51,L/=h&.,#)s?'""$,9('	.+ Q
 U   E/0E4another_datasetc                 F   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )a  Creates a dataset that concatenates `input_dataset` with `another_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    another_dataset: A `Tensor` of type `variant`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ConcatenateDatasetr   r   r   Nr   NExpected list for 'output_types' argument to 'concatenate_dataset' Op, not %r.OExpected list for 'output_shapes' argument to 'concatenate_dataset' Op, not %r.r   )r   r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   "concatenate_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   concatenate_datasetr   !  sD    
			0h..0$#\\	11"D-o}Hg n 
L4-	0
	,.:	;< < DPPR($$R8P,P	MD%=	1
	,.;	<= = GTT8&&r?;T-THx4('88M.=+7,9H#')!QX QK'""$cll>:Oll?+Zll:&(F ::LlFG=('	.O && -
##At,,## 
/
|%tO O ## 
 Q
 Ur   zraw_ops.ConcatenateDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w )Nr   r   r   r   r   r   s   ConcatenateDatasetrG   rH   r   )r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   r   r   r3   r6   )r   r   r   r   r   r   r   r<   r=   rB   rA   r:   s               rC   r   r   d  s[   	L4-	0
	,.:	;< < DPPR($$R8P,P	MD%=	1
	,.;	<= = GTT8&&r?;T-THx4(((H-**?GOOL/1,L/=h&2Al#)s?'""$lFG=('	.) Q
 Ur   cardinality_optionsc                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|      }|S |d}t        j                  |d      }t        j                   d| ||      \  }}}}	|	dd }t        j"                         r7d|j%                  d      f}
|j&                  }t        j(                  d||
|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)a~  Returns the cardinality of `input_dataset`.

  Returns the cardinality of `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the dataset to return cardinality for.
    cardinality_options: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `int64`.
  DatasetCardinalityr   N)r   r   r   r   )r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   "dataset_cardinality_eager_fallbackr)   r.   rv   r1   r2   r3   r4   r5   r6   )r   r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s               rC   dataset_cardinalityr     sl    
			0h..0$#\\11"D-24g n   ))*=?TU'88M2E#')!QX QK'""$#S\\2G%HIF::LlFG=('	.3 && -
##At,,## 
/
-@t  ## 
0    C* *D1=DD10D15E EEzraw_ops.DatasetCardinalityc                 &   |d}t        j                  |d      }t        j                  | t        j
                        } | g}d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr   r   s   DatasetCardinalityrG   rH   r   )	r.   rv   r%   r   r   r   r   r3   r6   )r   r   r   r   rB   rA   r:   s          rC   r   r     s      ))*=?TU((H-,!#67&2Al#)s?'""$lFG=('	.rk   c                 \   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d||       }|S t        j                  d| |      \  }}}}|dd }t        j                          r&d}	|j"                  }
t        j$                  d|
|	|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||      S # t        j                  $ r Y w xY w)a>  Returns the fingerprint of `input_dataset`.

  Returns the fingerprint of `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the dataset to return fingerprint for.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `uint64`.
  DatasetFingerprintNrb   r   r   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   "dataset_fingerprint_eager_fallbackr)   r1   r2   r.   r3   r5   r6   r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s              rC   dataset_fingerprintr     s)    
			0h..0$#\\11"D-9gn (88MF!QXQK'""$F::LlFG=('	.' && -
##At,,## 
/
d. .## 
0    B< <DC**DDD D+*D+zraw_ops.DatasetFingerprintc                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns   DatasetFingerprintrG   rH   r   r%   r   r   r   r.   r   r3   r6   r   r   r   rB   rA   r:   s         rC   r   r     sq    ((H-,&2Al#)s?'""$lFG=('	.rk   allow_statefulstrip_device_assignmentc                    t         j                   xs t        j                         }|j                  }|j                  r!	 t	        j
                  |d|| d|d|d|
      }|S |g }t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j$                  |	d       }}	|d}t#        j&                  |d      }|d}t#        j&                  |d      }t)        j*                  d| ||||	      \  }
}
}}|dd }t#        j,                         rYd|j/                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}	w )
a/  Returns a serialized GraphDef representing `input_dataset`.

  Returns a graph representation for `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the dataset to return the graph representation for.
    stateful_whitelist: An optional list of `strings`. Defaults to `[]`.
    allow_stateful: An optional `bool`. Defaults to `False`.
    strip_device_assignment: An optional `bool`. Defaults to `False`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `string`.
  DatasetToGraphstateful_whitelistr   r   N)r   r   r   r   r   QExpected list for 'stateful_whitelist' argument to 'dataset_to_graph' Op, not %r.F)r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   dataset_to_graph_eager_fallbackr)   r*   r+   r,   r-   r.   rv   r   r1   r2   r3   r4   r   r5   r6   )r   r   r   r   r   r8   r9   r:   r;   r=   r>   r?   r@   rA   rB   s                  rC   dataset_to_graphr     s)     
			0h..0$#\\	11m5I,n!#:<g n 	&u	6
	)+=	>? ? Oaa))".BCaaN%%n6FG.$#$../FHab'88-?)72I#%!QX QK'""$"CLL1E$F 2 23C D'  !:;=F ::L,9('	.U && -
##At,,## 
,
,>'"9	 
 ## 
 bs6    E7 G-7F>
F%%F>=F>G G*)G*zraw_ops.DatasetToGraphc                    |g }t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } | g}d|d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d	|||	       |	\  }	|	S c c}w )
Nr   r   Fr   r   s   DatasetToGraphrG   rH   r   )r*   r+   r,   r-   r.   rv   r   r%   r   r   r   r   r3   r6   )
r   r   r   r   r   r   r=   rB   rA   r:   s
             rC   r   r   E  s&   	&u	6
	)+=	>? ? Oaa))".BCaaN%%n6FG.$#$../FHab((H-, "46F+-DF&.,#)s?'""$,9('	.# bs   C<external_state_policyc           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S |d}t        j                  |d      }|d}t        j                  |d      }t!        j"                  d| |||      \  }}}	}
|
dd }t        j$                         rHd|	j'                  d      d|	j)                  d      f}|	j*                  }t        j,                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y +w xY w)	a  Returns a serialized GraphDef representing `input_dataset`.

  Returns a graph representation for `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the dataset to return the graph representation for.
    external_state_policy: An optional `int`. Defaults to `0`.
    strip_device_assignment: An optional `bool`. Defaults to `False`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `string`.
  DatasetToGraphV2r   r   N)r   r   r   r   r   F)r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   "dataset_to_graph_v2_eager_fallbackr)   r.   make_intr   r1   r2   r3   _get_attr_intr   r5   r6   )r   r   r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                rC   dataset_to_graph_v2r   `  s    
			0h..0$#\\	11 $!6!#:<g n ""++,ACZ[$#$../FHab'88-2G4K!%	'!QX
 QK'""$% 78'  !:;=F ::LL&';('	.C && -
##At,,## 
/
/D"9  ## 
s0    D E+EEE#E3 3F
	F
zraw_ops.DatasetToGraphV2c                 ^   |d}t        j                  |d      }|d}t        j                  |d      }t        j                  | t
        j                        } | g}d|d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )	Nr   r   Fr   s   DatasetToGraphV2rG   rH   r   )
r.   r   r   r%   r   r   r   r   r3   r6   )r   r   r   r   r   rB   rA   r:   s           rC   r   r     s    ""++,ACZ[$#$../FHab((H-,#%:46&0!L#)s?'""$L&';('	.rk   datasetc                 @   t         j                   xs t        j                         }|j                  }|j                  r!	 t	        j
                  |d|| d|d|d|
      }|S t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j$                  |	d       }}	t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j&                  |
d       }}
|d	}t#        j(                  |d      }t+        j,                  d| ||||
      \  }}}}|dd }|s|S t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}	w c c}
w )a  Outputs the single element from the given dataset.

  Args:
    dataset: A `Tensor` of type `variant`.
      A handle to a dataset that contains a single element.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A list of `Tensor` objects of type `output_types`.
  DatasetToSingleElementr   r   r   Nr   TExpected list for 'output_types' argument to 'dataset_to_single_element' Op, not %r.UExpected list for 'output_shapes' argument to 'dataset_to_single_element' Op, not %r.r   )r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   (dataset_to_single_element_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                   rC   dataset_to_single_elementr     sC    
			0h..0$#\\11&g~o}j(Lg n 
L4-	0
	24@	AB B DPPR($$R8P,P	MD%=	1
	24A	BC C GTT8&&r?;T-THx4('88 '0=+3$@!QX QK'	J""$cll>:Oll?+Zll:&(F ::L ,A	.M && -
##At,,## 
5
M$D2 2 ## 
 Q
 U<    F  HH G'3GG'&G'+G< <HHzraw_ops.DatasetToSingleElementc                 h   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } | g}d|d|d|f}	t	        j                  dt        |      ||	||      }
t	        j                         rt	        j                  d	||	|
       |
S c c}w c c}w )
Nr   r   r   r   r   r   s   DatasetToSingleElementrH   r   )r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   r   r   lenr3   r6   )r   r   r   r   r   r   r<   r=   rB   rA   r:   s              rC   r   r     sJ   	L4-	0
	24@	AB B DPPR($$R8P,P	MD%=	1
	24A	BC C GTT8&&r?;T-THx4(""7GOO<',L/=h&6L8I$0C"&(' ""$ ,A	.' Q
 Us   D*0D/c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| |      }|S t        j                  d| ||      \  }}}}	|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)a  A container for an iterator resource.

  Args:
    handle: A `Tensor` of type `resource`. A handle to the iterator to delete.
    deleter: A `Tensor` of type `variant`. A variant deleter.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  DeleteIteratorNrb   rN   rO   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   delete_iterator_eager_fallbackr)   r1   r2   
rN   rO   r   r8   r9   r:   r;   r>   r?   r@   s
             rC   delete_iteratorr    s     
			0h..0$#\\11fg7gn (88tE!QX	* && -
##At,,## 
+
'$0 0## 
0    A; ;CB))CCC C+*C+zraw_ops.DeleteIteratorc                     t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t        j                  dd||||      }d }|S )Ns   DeleteIteratorr   rH   r%   r   r   r   r   r.   r   rN   rO   r   r   rB   rA   r:   s          rC   r  r  0  sg    !!&'*:*:;&""7GOO<''",&.,#)s?''	.rk   c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| |      }|S t        j                  d| ||      \  }}}}	|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)TODO: add doc.

  Args:
    handle: A `Tensor` of type `resource`.
    deleter: A `Tensor` of type `variant`.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  DeleteMemoryCacheNrb   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   "delete_memory_cache_eager_fallbackr)   r1   r2   r  s
             rC   delete_memory_cacher  ;  s     
			0h..0$#\\11!4:gn (88FG$H!QX	* && -
##At,,## 
/
'$0 0## 
r  zraw_ops.DeleteMemoryCachec                     t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t        j                  dd||||      }d }|S )Ns   DeleteMemoryCacher   rH   r  r  s          rC   r  r  ]  sg    !!&'*:*:;&""7GOO<''",&11\#)s?''	.rk   multi_device_iterator	iteratorsc                 @   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| ||      }|S t        |t        t        f      st!        d|z        t#        |      }t%        j&                  d| |||      \  }	}	}
}|
S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY w)a@  A container for an iterator resource.

  Args:
    multi_device_iterator: A `Tensor` of type `resource`.
      A handle to the multi device iterator to delete.
    iterators: A list of `Tensor` objects with type `resource`.
      A list of iterator handles (unused). This is added so that automatic control dependencies get added during function tracing that ensure this op runs after all the dependent iterators are deleted.
    deleter: A `Tensor` of type `variant`. A variant deleter.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  DeleteMultiDeviceIteratorNrb   TExpected list for 'iterators' argument to 'delete_multi_device_iterator' Op, not %r.)r  r  rO   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   +delete_multi_device_iterator_eager_fallbackr)   r*   r+   r,   r-   r   r1   r2   )r  r  rO   r   r8   r9   r:   r;   _attr_Nr>   r?   r@   s               rC   delete_multi_device_iteratorr  h  s4    
			0h..0$#\\11)41F7g n 
Ie}	-
	57@	AB B 	N''88#;P/8'*.0!QX 
*' && -
##At,,## 
8
G$DJ J## 
s0    B, ,C3?CC32C37D DDz!raw_ops.DeleteMultiDeviceIteratorc                    t        |t        t        f      st        d|z        t	        |      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| gt        |      z   |gz   }d|f}t        j                  dd||||      }d }|S )Nr  Ns   DeleteMultiDeviceIteratorr   rH   )r*   r+   r,   r-   r   r%   r   r   r   convert_n_to_tensorr   r.   r   )	r  r  rO   r   r   r  rB   rA   r:   s	            rC   r  r    s    	Ie}	-
	57@	AB B 	N'001FHXHXY&&y'2B2BC)""7GOO<''(4	?:gYF,>&91$0C"&(' '	.rk   c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| |      }|S t        j                  d| ||      \  }}}}	|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)r	  DeleteRandomSeedGeneratorNrb   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   +delete_random_seed_generator_eager_fallbackr)   r1   r2   r  s
             rC   delete_random_seed_generatorr    s     
			0h..0$#\\11)4Bgn (88#FG*.0!QX 
* && -
##At,,## 
8
'$0 0## 
r  z!raw_ops.DeleteRandomSeedGeneratorc                     t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t        j                  dd||||      }d }|S )Ns   DeleteRandomSeedGeneratorr   rH   r  r  s          rC   r  r    sj    !!&'*:*:;&""7GOO<''",&91$0C"&(' '	.rk   c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| |      }|S t        j                  d| ||      \  }}}}	|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)r	  DeleteSeedGeneratorNrb   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   $delete_seed_generator_eager_fallbackr)   r1   r2   r  s
             rC   delete_seed_generatorr!    s     
			0h..0$#\\11#T67<gn (88fgDJ!QX	* && -
##At,,## 
1
'$0 0## 
r  zraw_ops.DeleteSeedGeneratorc                     t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t        j                  dd||||      }d }|S )Ns   DeleteSeedGeneratorr   rH   r  r  s          rC   r   r     sg    !!&'*:*:;&""7GOO<''",&3Q|#)s?''	.rk   resource_handle
serializedc                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| |      }|S t        j                  d| ||      \  }}}}	|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)a  Converts the given variant tensor to an iterator and stores it in the given resource.

  Args:
    resource_handle: A `Tensor` of type `resource`.
      A handle to an iterator resource.
    serialized: A `Tensor` of type `variant`.
      A variant tensor storing the state of the iterator contained in the
      resource.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  DeserializeIteratorNrb   )r#  r$  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #deserialize_iterator_eager_fallbackr)   r1   r2   )
r#  r$  r   r8   r9   r:   r;   r>   r?   r@   s
             rC   deserialize_iteratorr(    s     
			0h..0$#\\11#T?JHgn (88*44A!QX 
* && -
##At,,## 
0
:Dd< <## 
r  zraw_ops.DeserializeIteratorc                     t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t        j                  dd||||      }d }|S )Ns   DeserializeIteratorr   rH   r  )r#  r$  r   r   rB   rA   r:   s          rC   r'  r'  )  sg    **?G<L<LM/%%j'//B*!:.,&3Q|#)s?''	.rk   c                 V   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|       }|S t        j                  d|       \  }}}}|dd }t        j                          r&d}|j"                  }	t        j$                  d|	||       |\  }|S # t        j                  $ r }t        j                  ||        Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |      S # t        j                  $ r Y w xY w)xTODO: add doc.

  Args:
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  DummyMemoryCacheNrb   rc   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   !dummy_memory_cache_eager_fallbackr)   r1   r2   r.   r3   r5   r6   rg   s
             rC   dummy_memory_cacher.  4  s"    
			0h..0$#\\11 $(gn (88'!QXQK'""$F::LL&';('	.' && -
##At,,## 
. ## 
0    B: :DC((D DD D('D(zraw_ops.DummyMemoryCachec                     g }d }t        j                  dd||||       }t        j                         rt        j                  d|||       |\  }|S )Ns   DummyMemoryCacherG   rH   r,  r.   r   r3   r6   rj   s        rC   r-  r-  \  sY    ,&0!L#)s?'""$L&';('	.rk   c                 V   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|       }|S t        j                  d|       \  }}}}|dd }t        j                          r&d}|j"                  }	t        j$                  d|	||       |\  }|S # t        j                  $ r }t        j                  ||        Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |      S # t        j                  $ r Y w xY w)r+  DummySeedGeneratorNrb   rc   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #dummy_seed_generator_eager_fallbackr)   r1   r2   r.   r3   r5   r6   rg   s
             rC   dummy_seed_generatorr5  h  s"    
			0h..0$#\\11"D*gn (884)!QXQK'""$F::LlFG=('	.' && -
##At,,## 
0 ## 
r/  zraw_ops.DummySeedGeneratorc                     g }d }t        j                  dd||||       }t        j                         rt        j                  d|||       |\  }|S )Ns   DummySeedGeneratorrG   rH   r3  r1  rj   s        rC   r4  r4    sY    ,&2Al#)s?'""$lFG=('	.rk   c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	a  Creates a dataset containing elements of first component of `input_dataset` having true in the last component.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  FilterByLastComponentDatasetr   r   Nr   [Expected list for 'output_types' argument to 'filter_by_last_component_dataset' Op, not %r.\Expected list for 'output_shapes' argument to 'filter_by_last_component_dataset' Op, not %r.)r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   /filter_by_last_component_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   )r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                  rC    filter_by_last_component_datasetr<    s    
			0h..0$#\\11,dMo}Fg n 
L4-	0
	9;G	HI I DPPR($$R8P,P	MD%=	1
	9;H	IJ J GTT8&&r?;T-T'88&m5A6C-1	3!QX
 QK'""$cll>:Oll?+-F::L&fgG('	.E && -
##At,,## 
<
l%Dd< < ## 
 Q
 U<    E2 G'G,2F9F  F98F9=G G$#G$z$raw_ops.FilterByLastComponentDatasetc                 &   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d|||	       |	\  }	|	S c c}w c c}w )	Nr9  r   r:  r   s   FilterByLastComponentDatasetrG   rH   r8  )r*   r+   r,   r-   r.   r/   r0   r%   r   r   r   r   r3   r6   )
r   r   r   r   r   r<   r=   rB   rA   r:   s
             rC   r;  r;    s(   	L4-	0
	9;G	HI I DPPR($$R8P,P	MD%=	1
	9;H	IJ J GTT8&&r?;T-T((H-,L/=I&<a$0C"&(' ""$&fgG('	.! Q
 U   D	0Dc                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|| |d|d|d|d|      }	|	S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }t+        j,                  d| ||||||      \  }}}}|dd }	t#        j.                         r{d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f
}|j2                  }t#        j4                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset containing elements of `input_dataset` matching `predicate`.

  The `predicate` function must return a scalar boolean and accept the
  following arguments:

  * One tensor for each component of an element of `input_dataset`.
  * One tensor for each value in `other_arguments`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
      A list of tensors, typically values that were captured when
      building a closure for `predicate`.
    predicate: A function decorated with @Defun.
      A function returning a scalar boolean.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  FilterDataset	predicater   r   r   N)rB  r   r   r   r   r   IExpected list for 'output_types' argument to 'filter_dataset' Op, not %r.JExpected list for 'output_shapes' argument to 'filter_dataset' Op, not %r.r   )r   other_argumentsrB  r   r   r   r   
Targuments)r   r   r    r!   r   r"   r#   r$   r%   r&   r'   filter_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rE  rB  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   filter_datasetrH    sf   0 
			0h..0$#\\	11ot]OYoz8-g n 
L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4('88})8I&2'4x"$!QX QK'""$3<<4lll<(.ll>*Oll?+Zll:&	(F
 ::Lvw8('	.U && -
##At,,## 
*
I#=$D2 2 ## 
 Q
 U<    "G H?IHG55HHH% %H<;H<zraw_ops.FilterDatasetc           
         t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j                  |	d       }}	|d}t	        j                  |d      }t	        j                  ||      \  }
}t        j                  | t        j                        } | gt        |      z   }d|d|
d|d|d|f
}t	        j                  d	d
||||      }t	        j                         rt	        j                  d|||       |\  }|S c c}w c c}	w )NrC  r   rD  r   r   r   rB  rF  s   FilterDatasetrG   rH   rA  r*   r+   r,   r-   r.   r/   r0   rv   convert_to_mixed_eager_tensorsr%   r   r   r   r   r3   r6   )r   rE  rB  r   r   r   r   r   r<   r=   _attr_TargumentsrB   rA   r:   s                 rC   rG  rG  ?  sq   	L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4(&.&M&Mo_b&c#O((H-4#88,L2B,

& -q#)s?'""$vw8('	.+ Q
 U   E0Ehas_captured_refc                 @   t         j                   xs t        j                         }|j                  }|j                  r!	 t	        j
                  |d|| d|d|d|
      }|S t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j$                  |	d       }}	t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j&                  |
d       }}
|d	}t#        j(                  |d      }t+        j,                  d| ||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j3                  d      d|j3                  d      f}|j4                  }t#        j6                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}	w c c}
w )a  Creates a dataset by applying `tf.data.Options` to `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    has_captured_ref: An optional `bool`. Defaults to `False`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  FinalizeDatasetrO  r   r   N)rO  r   r   r   r   KExpected list for 'output_types' argument to 'finalize_dataset' Op, not %r.LExpected list for 'output_shapes' argument to 'finalize_dataset' Op, not %r.F)r   r   r   rO  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   finalize_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   r1   r2   r3   r   r4   r5   r6   )r   r   r   rO  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                   rC   finalize_datasetrU  \  sF    
			0h..0$#\\	11}6H.,g n 
L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-T''(8:LM'88(4)6,<4	I!QX
 QK'""$ #"4"45G"Hcll>:Oll?+-F ::L<:('	.O && -
##At,,## 
,
*:#=t  ## 
 Q
 Ur   zraw_ops.FinalizeDatasetc                 ^   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } | g}d|d|d|f}	t	        j                  dd||	||	      }
t	        j                         rt	        j                  d
||	|
       |
\  }
|
S c c}w c c}w )NrR  r   rS  r   FrO  s   FinalizeDatasetrG   rH   rQ  )r*   r+   r,   r-   r.   r/   r0   r   r%   r   r   r   r   r3   r6   )r   r   r   rO  r   r   r<   r=   rB   rA   r:   s              rC   rT  rT    sG   	L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-T''(8:LM((H-, 0.0&/<#)s?'""$<:('	.' Q
 Us   D%0D*	filenamesheader_bytesrecord_bytesfooter_bytesbuffer_sizec                    t         j                   xs t        j                         }|j                  }|j                  r!	 t	        j
                  |d|| ||||d|
      }	|	S |d}t        j                  |d      }t        j                   d| ||||||      \  }}}}|dd }	t        j"                         r7d|j%                  d      f}|j&                  }t        j(                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY w)aR  Creates a dataset that emits the records from one or more binary files.

  Args:
    filenames: A `Tensor` of type `string`.
      A scalar or a vector containing the name(s) of the file(s) to be
      read.
    header_bytes: A `Tensor` of type `int64`.
      A scalar representing the number of bytes to skip at the
      beginning of a file.
    record_bytes: A `Tensor` of type `int64`.
      A scalar representing the number of bytes in each record.
    footer_bytes: A `Tensor` of type `int64`.
      A scalar representing the number of bytes to skip at the end
      of a file.
    buffer_size: A `Tensor` of type `int64`.
      A scalar representing the number of bytes to buffer. Must be > 0.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  FixedLengthRecordDatasetr   Nr   r   r   r   )rW  rX  rY  rZ  r[  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   *fixed_length_record_dataset_eager_fallbackr)   r.   rv   r1   r2   r3   r4   r5   r6   )rW  rX  rY  rZ  r[  r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                   rC   fixed_length_record_datasetr`    s   . 
			0h..0$#\\11($	<lKXGg n Hx4('88"i1=1=1=0;-5DB!QX QK'""$#,,z23F::L"L&'C('	.9 && -
##At,,## 
7
\<{$D2 2 ## 
s0    C2 2D9D  D98D9=E E'&E'z raw_ops.FixedLengthRecordDatasetc                 N   |d}t        j                  |d      }t        j                  | t        j
                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| ||||g}d|f}	t        j                  dd||	||      }
t        j                         rt        j                  d||	|
       |
\  }
|
S )Nr   r   s   FixedLengthRecordDatasetrG   rH   r]  
r.   rv   r%   r   r   r   r   r   r3   r6   )rW  rX  rY  rZ  r[  r   r   r   rB   rA   r:   s              rC   r_  r_    s    Hx4($$Y?)''gmmD,''gmmD,''gmmD,&&{GMMB+\<{S,!&8!$0C"&(' ""$"L&'C('	.rk   compression_typec                    t         j                   xs t        j                         }|j                  }	|	j                  r"	 t	        j
                  |d|| |||||d|      }
|
S |d}t        j                  |d      }t        j                   d| |||||||	      \  }}}}|dd }
t        j"                         r7d|j%                  d      f}|j&                  }t        j(                  d|||
       |
\  }
|
S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||||||	      S # t        j                  $ r Y w xY w)a  TODO: add doc.

  Args:
    filenames: A `Tensor` of type `string`.
    header_bytes: A `Tensor` of type `int64`.
    record_bytes: A `Tensor` of type `int64`.
    footer_bytes: A `Tensor` of type `int64`.
    buffer_size: A `Tensor` of type `int64`.
    compression_type: A `Tensor` of type `string`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  FixedLengthRecordDatasetV2r   Nr^  r   )rW  rX  rY  rZ  r[  rc  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   -fixed_length_record_dataset_v2_eager_fallbackr)   r.   rv   r1   r2   r3   r4   r5   r6   )rW  rX  rY  rZ  r[  rc  r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                    rC   fixed_length_record_dataset_v2rg  	  s     
			0h..0$#\\	11*D)\lK1A:g n Hx4('88$	3?3?3?2=7G/7dD!QX QK'""$#,,z23F::L$lFGE('	.; && -
##At,,## 
:
\<{
XDdD D ## 
s0     C4 4D;D""D;:D;?E E*)E*z"raw_ops.FixedLengthRecordDatasetV2c	                    |d}t        j                  |d      }t        j                  | t        j
                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j
                        }| |||||g}	d|f}
t        j                  dd|	|
||      }t        j                         rt        j                  d|	|
|       |\  }|S )Nr   r   s   FixedLengthRecordDatasetV2rG   rH   re  rb  )rW  rX  rY  rZ  r[  rc  r   r   r   rB   rA   r:   s               rC   rf  rf  J	  s   Hx4($$Y?)''gmmD,''gmmD,''gmmD,&&{GMMB+++,<gnnM\<{Tde,!&:A$0C"&(' ""$$lFGE('	.rk   c                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|| |d|d|d|d|      }	|	S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }t+        j,                  d| ||||||      \  }}}}|dd }	t#        j.                         r{d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f
}|j2                  }t#        j4                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w c c}w )a~  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  Unlike MapDataset, the `f` in FlatMapDataset is expected to return a
  Dataset variant, and FlatMapDataset will flatten successive results
  into a single Dataset.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
    f: A function decorated with @Defun.
      A function mapping elements of `input_dataset`, concatenated with
      `other_arguments`, to a Dataset variant that contains elements matching
      `output_types` and `output_shapes`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  FlatMapDatasetfr   r   r   Nrk  r   r   r   r   r   KExpected list for 'output_types' argument to 'flat_map_dataset' Op, not %r.LExpected list for 'output_shapes' argument to 'flat_map_dataset' Op, not %r.r   )r   rE  rk  r   r   r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   flat_map_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rE  rk  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   flat_map_datasetrp  `	  sh   , 
			0h..0$#\\	11m_c1o}Hg n 
L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-THx4('88*9Q'3(5#%!QX QK'""$3<<$lll<(.ll>*Oll?+Zll:&	(F
 ::L,9('	.S && -
##At,,## 
,
AL%tO O ## 
 Q
 UrI  zraw_ops.FlatMapDatasetc           
         t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j                  |	d       }}	|d}t	        j                  |d      }t	        j                  ||      \  }
}t        j                  | t        j                        } | gt        |      z   }d|d|
d|d|d|f
}t	        j                  d	d
||||      }t	        j                         rt	        j                  d|||       |\  }|S c c}w c c}	w )Nrm  r   rn  r   r   r   rk  rF  s   FlatMapDatasetrG   rH   rj  rK  )r   rE  rk  r   r   r   r   r   r<   r=   rM  rB   rA   r:   s                 rC   ro  ro  	  so   	L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-THx4(&.&M&Mo_b&c#O((H-4#88,L"2N
HF&.,#)s?'""$,9('	.) Q
 UrN  c
                 0   t         j                   xs t        j                         }
|
j                  }|j                  r)	 t	        j
                  |
d|	| ||d|d|d|d|d|d|      }|S t        |t        t        f      st!        d
|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }t+        j,                  d| |||||||||	      \  }}}}|dd }t#        j.                         rd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||	       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
	      S # t        j                  $ r Y "w xY wc c}w c c}w )a  Creates a dataset that invokes a function to generate elements.

  Args:
    init_func_other_args: A list of `Tensor` objects.
    next_func_other_args: A list of `Tensor` objects.
    finalize_func_other_args: A list of `Tensor` objects.
    init_func: A function decorated with @Defun.
    next_func: A function decorated with @Defun.
    finalize_func: A function decorated with @Defun.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  GeneratorDataset	init_func	next_funcfinalize_funcr   r   r   N)rt  ru  rv  r   r   r   r   r   LExpected list for 'output_types' argument to 'generator_dataset' Op, not %r.MExpected list for 'output_shapes' argument to 'generator_dataset' Op, not %r.r   )
init_func_other_argsnext_func_other_argsfinalize_func_other_argsrt  ru  rv  r   r   r   r   Tinit_func_argsTnext_func_argsTfinalize_func_args)r   r   r    r!   r   r"   r#   r$   r%   r&   r'    generator_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )ry  rz  r{  rt  ru  rv  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                        rC   generator_datasetr  	  s   $ 
			0h..0$#\\11 $(<6;	?Mo}Hg n 
L4-	0
	*,8	9: : DPPR($$R8P,P	MD%=	1
	*,9	:; ; GTT8&&r?;T-THx4('881E1E5M&/9*7)5*7(!%'!QX QK'""$3<<4kll;'ll?+->ll,-/@ll,-/Dll01>ll>*Oll?+Zll:&(F ::LL&';('	.e && -
##At,,## 
-
 4
"i9%L%t	O O
 ## 
 Q
 Us<    'H JJI&IIII4 4J
Jzraw_ops.GeneratorDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t	        j                  | |
      \  }} t	        j                  ||
      \  }}t	        j                  ||
      \  }}t        |       t        |      z   t        |      z   }d|d|d	|d
|d|d|d|d|d|f}t	        j                  dd|||
|	      }t	        j                         rt	        j                  d|||       |\  }|S c c}w c c}w )Nrw  r   rx  r   r   r   rt  ru  rv  r|  r}  r~  s   GeneratorDatasetrG   rH   rs  )r*   r+   r,   r-   r.   r/   r0   rv   rL  r   r3   r6   )ry  rz  r{  rt  ru  rv  r   r   r   r   r   r<   r=   _attr_Tinit_func_args_attr_Tnext_func_args_attr_Tfinalize_func_argsrB   rA   r:   s                      rC   r  r  
  s   	L4-	0
	*,8	9: : DPPR($$R8P,P	MD%=	1
	*,9	:; ; GTT8&&r?;T-THx4(080W0WXlnq0r--080W0WXlnq0r--8@8_8_`xz}8~55*+d3G.HH4PhKii,KO"$9;L.0I,

	&
 0!L#)s?'""$L&';('	.1 Q
 Us   E80E=c                 \   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d||       }|S t        j                  d| |      \  }}}}|dd }t        j                          r&d}	|j"                  }
t        j$                  d|
|	|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||      S # t        j                  $ r Y w xY w)a
  Returns the `tf.data.Options` attached to `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `string`.
  
GetOptionsNrb   r   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   get_options_eager_fallbackr)   r1   r2   r.   r3   r5   r6   r   s              rC   get_optionsr  =
  s'    
			0h..0$#\\11lD-1gn (88M>!QXQK'""$F::LlFG5('	.' && -
##At,,## 
'
d. .## 
r   zraw_ops.GetOptionsc                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns
   GetOptionsrG   rH   r  r   r   s         rC   r  r  g
  sp    ((H-,&]Al#)s?'""$lFG5('	.rk   cycle_lengthblock_lengthc	                    t         j                   xs t        j                         }	|	j                  }
|
j                  r&	 t	        j
                  |	d|| |||d|d|d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }t+        j,                  d| ||||||||
      \  }}}}|dd }t#        j.                         r{d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f
}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	
      S # t        j                  $ r Y w xY wc c}w c c}w )ax  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  Unlike MapDataset, the `f` in InterleaveDataset is expected to return
  a Dataset variant, and InterleaveDataset will flatten successive
  results into a single Dataset. Unlike FlatMapDataset,
  InterleaveDataset will interleave sequences of up to `block_length`
  consecutive elements from `cycle_length` input elements.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
    cycle_length: A `Tensor` of type `int64`.
    block_length: A `Tensor` of type `int64`.
    f: A function decorated with @Defun.
      A function mapping elements of `input_dataset`, concatenated with
      `other_arguments`, to a Dataset variant that contains elements matching
      `output_types` and `output_shapes`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  InterleaveDatasetrk  r   r   r   Nrl  MExpected list for 'output_types' argument to 'interleave_dataset' Op, not %r.NExpected list for 'output_shapes' argument to 'interleave_dataset' Op, not %r.r   )	r   rE  r  r  rk  r   r   r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   !interleave_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rE  r  r  rk  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                       rC   interleave_datasetr  t
  su   4 
			0h..0$#\\	11!4lCNL
H>g n 
L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-THx4('88=-<*6*6!*6+88"&(!QX QK'""$3<<$lll<(.ll>*Oll?+Zll:&	(F
 ::L\67<('	.Y && -
##At,,## 
.
,#=$D2 2 ## 
 Q
 Us<    $G II
HG99HHH+ +IIzraw_ops.InterleaveDatasetc
           
      J   t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j
                  |
d       }}
t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t	        j                  ||	      \  }}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| gt        |      z   ||gz   }d|d|d|d|d|f
}t	        j                  d	d
|||	|      }t	        j                         rt	        j                   d|||       |\  }|S c c}
w c c}w )Nr  r   r  r   r   r   rk  rF  s   InterleaveDatasetrG   rH   r  r*   r+   r,   r-   r.   r/   r0   rv   rL  r%   r   r   r   r   r   r3   r6   )r   rE  r  r  rk  r   r   r   r   r   r<   r=   rM  rB   rA   r:   s                   rC   r  r  
  s   	L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-THx4(&.&M&Mo_b&c#O((H-''gmmD,''gmmD,4#88L,;WW,L"2N
HF&11\#)s?'""$\67<('	.- Q
 Us   F0F shared_name	containerc                    t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|d| d|d|d|      }|S t        j                  | d      } t        j                  |d      }t        |t         t"        f      st%        d|z        |D 	cg c]  }	t        j&                  |	d       }}	t        |t         t"        f      st%        d	|z        |D 
cg c]  }
t        j(                  |
d       }}
t+        j,                  d| ||||
      \  }}}}|dd }t        j.                         rjd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}	w c c}
w )ao  A container for an iterator resource.

  Args:
    shared_name: A `string`.
    container: A `string`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  Iteratorr  r  r   r   Nr  r  r   r   r   r   CExpected list for 'output_types' argument to 'iterator' Op, not %r.DExpected list for 'output_shapes' argument to 'iterator' Op, not %r.r  r  r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   iterator_eager_fallbackr)   r.   rv   r*   r+   r,   r-   r/   r0   r1   r2   r3   r4   r5   r6   r  r  r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                   rC   iteratorr  
  sQ    
			0h..0$#\\	11j${K><g n !!+}=+	;7)	L4-	0
	!#/	01 1 DPPR($$R8P,P	MD%=	1
	!#0	12 2 GTT8&&r?;T-T'88y!-]!QX QK'""$S\\-8+ll;'ll>*Oll?+-F ::LL&'3('	.M && -
##At,,## 
$!Y#=t  ## 
 Q
 U<     G 5H:<H?HG22H
HH   H76H7zraw_ops.Iteratorc                 <   t        j                  | d      } t        j                  |d      }t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}g }d| d|d|d|f}	t        j                  dd||	||	      }
t        j                         rt        j                  d
||	|
       |
\  }
|
S c c}w c c}w )Nr  r  r  r   r  r   s   IteratorrG   rH   r  r.   rv   r*   r+   r,   r-   r/   r0   r   r3   r6   r  r  r   r   r   r   r<   r=   rB   rA   r:   s              rC   r  r  '  s5   !!+}=+	;7)	L4-	0
	!#/	01 1 DPPR($$R8P,P	MD%=	1
	!#0	12 2 GTT8&&r?;T-T,;Y,@&[!L#)s?'""$L&'3('	. Q
 U   DDstring_handlec           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S |g }t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}|g }t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	a  Converts the given string representing a handle to an iterator to a resource.

  Args:
    string_handle: A `Tensor` of type `string`.
      A string representation of the given handle.
    output_types: An optional list of `tf.DTypes`. Defaults to `[]`.
      If specified, defines the type of each tuple component in an
      element produced by the resulting iterator.
    output_shapes: An optional list of shapes (each a `tf.TensorShape` or list of `ints`). Defaults to `[]`.
      If specified, defines the shape of each tuple component in an
      element produced by the resulting iterator.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  IteratorFromStringHandler   r   Nr   VExpected list for 'output_types' argument to 'iterator_from_string_handle' Op, not %r.WExpected list for 'output_shapes' argument to 'iterator_from_string_handle' Op, not %r.r  r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   *iterator_from_string_handle_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                  rC   iterator_from_string_handler  @  s"   " 
			0h..0$#\\11($~o}6g n L	L4-	0
	46B	CD D DPPR($$R8P,PM	MD%=	1
	46C	DE E GTT8&&r?;T-T'88"-1=2?dL!QX QK'""$cll>:Oll?+-F::L"L&'C('	.K && -
##At,,## 
7
l%Dd< < ## 
 Q U<    E: 
G/G4:GF((G GG G,+G,z raw_ops.IteratorFromStringHandlec                 6   |g }t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}|g }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d|||	       |	\  }	|	S c c}w c c}w )	Nr  r   r  r   s   IteratorFromStringHandlerG   rH   r  r*   r+   r,   r-   r.   r/   r0   r%   r   r   r   r   r3   r6   
r  r   r   r   r   r<   r=   rB   rA   r:   s
             rC   r  r    s>   L	L4-	0
	46B	CD D DPPR($$R8P,PM	MD%=	1
	46C	DE E GTT8&&r?;T-T((G-,L/=I&8!$0C"&(' ""$"L&'C('	.% Q U   D8Dc           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S |g }t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}|g }t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	aZ  TODO: add doc.

  Args:
    string_handle: A `Tensor` of type `string`.
    output_types: An optional list of `tf.DTypes`. Defaults to `[]`.
    output_shapes: An optional list of shapes (each a `tf.TensorShape` or list of `ints`). Defaults to `[]`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  IteratorFromStringHandleV2r   r   Nr   YExpected list for 'output_types' argument to 'iterator_from_string_handle_v2' Op, not %r.ZExpected list for 'output_shapes' argument to 'iterator_from_string_handle_v2' Op, not %r.r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   -iterator_from_string_handle_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  s                  rC   iterator_from_string_handle_v2r    s#    
			0h..0$#\\11*D-o}Fg n L	L4-	0
	79E	FG G DPPR($$R8P,PM	MD%=	1
	79F	GH H GTT8&&r?;T-T'88$M3?4AN!QX QK'""$cll>:Oll?+-F::L$lFGE('	.K && -
##At,,## 
:
l%Dd< < ## 
 Q Ur  z"raw_ops.IteratorFromStringHandleV2c                 6   |g }t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}|g }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d|||	       |	\  }	|	S c c}w c c}w )	Nr  r   r  r   s   IteratorFromStringHandleV2rG   rH   r  r  r  s
             rC   r  r    s>   L	L4-	0
	79E	FG G DPPR($$R8P,PM	MD%=	1
	79F	GH H GTT8&&r?;T-T((G-,L/=I&:A$0C"&(' ""$$lFGE('	.% Q Ur  r  c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }|s|S t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	a  Gets the next output from the given iterator .

  Args:
    iterator: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A list of `Tensor` objects of type `output_types`.
  IteratorGetNextr   r   Nr   LExpected list for 'output_types' argument to 'iterator_get_next' Op, not %r.MExpected list for 'output_shapes' argument to 'iterator_get_next' Op, not %r.r  r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'    iterator_get_next_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                  rC   iterator_get_nextr    s    
			0h..0$#\\11x(g n 
L4-	0
	*,8	9: : DPPR($$R8P,P	MD%=	1
	*,9	:; ; GTT8&&r?;T-T'88H<)6TC!QX QK'	J""$cll>:Oll?+-F::L<:	.C && -
##At,,## 
-
]  ## 
 Q
 Ur=  zraw_ops.IteratorGetNextc                 0   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dt        |      ||||      }	t	        j                         rt	        j                  d|||	       |	S c c}w c c}w )Nr  r   r  r   s   IteratorGetNextrH   r  r*   r+   r,   r-   r.   r/   r0   r%   r   r   r   r   r   r3   r6   
r  r   r   r   r   r<   r=   rB   rA   r:   s
             rC   r  r  3  s!   	L4-	0
	*,8	9: : DPPR($$R8P,P	MD%=	1
	*,9	:; ; GTT8&&r?;T-T##Hg.>.>?(,L/=I&/\1B$0C"&(' ""$<:	. Q
 U   D0Dc           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	a  Gets the next output from the given iterator as an Optional variant.

  Args:
    iterator: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  IteratorGetNextAsOptionalr   r   Nr   XExpected list for 'output_types' argument to 'iterator_get_next_as_optional' Op, not %r.YExpected list for 'output_shapes' argument to 'iterator_get_next_as_optional' Op, not %r.r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   ,iterator_get_next_as_optional_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  s                  rC   iterator_get_next_as_optionalr  J  s    
			0h..0$#\\11)4>o}6g n 
L4-	0
	68D	EF F DPPR($$R8P,P	MD%=	1
	68E	FG G GTT8&&r?;T-T'88#h2>3@tM!QX QK'""$cll>:Oll?+-F::L#\67D('	.C && -
##At,,## 
9
]  ## 
 Q
 Ur=  z!raw_ops.IteratorGetNextAsOptionalc                 &   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d|||	       |	\  }	|	S c c}w c c}w )	Nr  r   r  r   s   IteratorGetNextAsOptionalrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   r%   r   r   r   r   r3   r6   r  s
             rC   r  r    s*   	L4-	0
	68D	EF F DPPR($$R8P,P	MD%=	1
	68E	FG G GTT8&&r?;T-T##Hg.>.>?(,L/=I&91$0C"&(' ""$#\67D('	.! Q
 Ur?  c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }|s|S t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	a  Gets the next output from the given iterator.

  This operation is a synchronous version IteratorGetNext. It should only be used
  in situations where the iterator does not block the calling thread, or where
  the calling thread is not a member of the thread pool used to execute parallel
  operations (e.g. in eager mode).

  Args:
    iterator: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A list of `Tensor` objects of type `output_types`.
  IteratorGetNextSyncr   r   Nr   QExpected list for 'output_types' argument to 'iterator_get_next_sync' Op, not %r.RExpected list for 'output_shapes' argument to 'iterator_get_next_sync' Op, not %r.r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   %iterator_get_next_sync_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  s                  rC   iterator_get_next_syncr    s   " 
			0h..0$#\\11#T8^o}6g n 
L4-	0
	/1=	>? ? DPPR($$R8P,P	MD%=	1
	/1>	?@ @ GTT8&&r?;T-T'88|-:G!QX QK'	J""$cll>:Oll?+-F::L|VW>	.C && -
##At,,## 
2
]  ## 
 Q
 Ur=  zraw_ops.IteratorGetNextSyncc                 0   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dt        |      ||||      }	t	        j                         rt	        j                  d|||	       |	S c c}w c c}w )Nr  r   r  r   s   IteratorGetNextSyncrH   r  r  r  s
             rC   r  r    s#   	L4-	0
	/1=	>? ? DPPR($$R8P,P	MD%=	1
	/1>	?@ @ GTT8&&r?;T-T##Hg.>.>?(,L/=I&3S5F$0C"&(' ""$|VW>	. Q
 Ur  c                 \   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d||       }|S t        j                  d| |      \  }}}}|dd }t        j                          r&d}	|j"                  }
t        j$                  d|
|	|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||      S # t        j                  $ r Y w xY w)a  Converts the given `resource_handle` representing an iterator to a string.

  Args:
    resource_handle: A `Tensor` of type `resource`.
      A handle to an iterator resource.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `string`.
  IteratorToStringHandleNrb   )r#  r   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   (iterator_to_string_handle_eager_fallbackr)   r1   r2   r.   r3   r5   r6   )r#  r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s              rC   iterator_to_string_handler    s*    
			0h..0$#\\11&o?gn (88 /N!QXQK'""$F::L ,A('	.' && -
##At,,## 
5
$0 0## 
r   zraw_ops.IteratorToStringHandlec                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns   IteratorToStringHandlerG   rH   r  r%   r   r   r   r.   r   r3   r6   )r#  r   r   rB   rA   r:   s         rC   r  r    sx    **?G<L<LM/!",&6$0C"&(' ""$ ,A('	.rk   c                    t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|d| d|d|d|      }|S t        j                  | d      } t        j                  |d      }t        |t         t"        f      st%        d|z        |D 	cg c]  }	t        j&                  |	d       }}	t        |t         t"        f      st%        d	|z        |D 
cg c]  }
t        j(                  |
d       }}
t+        j,                  d| ||||
      \  }}}}|dd }t        j.                         rjd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}	w c c}
w )aX  TODO: add doc.

  Args:
    shared_name: A `string`.
    container: A `string`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  
IteratorV2r  r  r   r   Nr  FExpected list for 'output_types' argument to 'iterator_v2' Op, not %r.GExpected list for 'output_shapes' argument to 'iterator_v2' Op, not %r.r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   iterator_v2_eager_fallbackr)   r.   rv   r*   r+   r,   r-   r/   r0   r1   r2   r3   r4   r5   r6   r  s                   rC   iterator_v2r  *  sQ    
			0h..0$#\\	11lD-k><g n !!+}=+	;7)	L4-	0
	$&2	34 4 DPPR($$R8P,P	MD%=	1
	$&3	45 5 GTT8&&r?;T-T'88+#/}!!QX QK'""$S\\-8+ll;'ll>*Oll?+-F ::LlFG5('	.M && -
##At,,## 
'!Y#=t  ## 
 Q
 Ur  zraw_ops.IteratorV2c                 <   t        j                  | d      } t        j                  |d      }t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}g }d| d|d|d|f}	t        j                  dd||	||	      }
t        j                         rt        j                  d
||	|
       |
\  }
|
S c c}w c c}w )Nr  r  r  r   r  r   s
   IteratorV2rG   rH   r  r  r  s              rC   r  r  k  s5   !!+}=+	;7)	L4-	0
	$&2	34 4 DPPR($$R8P,P	MD%=	1
	$&3	45 5 GTT8&&r?;T-T,;Y,@&]Al#)s?'""$lFG5('	. Q
 Ur  c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| |      }|S t        j                  d| ||      \  }}}}	|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)a  Makes a new iterator from the given `dataset` and stores it in `iterator`.

  This operation may be executed multiple times. Each execution will reset the
  iterator in `iterator` to the first element of `dataset`.

  Args:
    dataset: A `Tensor` of type `variant`.
    iterator: A `Tensor` of type `resource`.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  MakeIteratorNrb   )r   r  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   make_iterator_eager_fallbackr)   r1   r2   )
r   r  r   r8   r9   r:   r;   r>   r?   r@   s
             rC   make_iteratorr    s     
			0h..0$#\\11ndGX7gn (88(G!QX	* && -
##At,,## 
)
8$D2 2## 
r  zraw_ops.MakeIteratorc                     t        j                  | t        j                        } t        j                  |t        j                        }| |g}d }t        j                  dd||||      }d }|S )Ns   MakeIteratorr   rH   )r%   r   r   r   r   r.   r   )r   r  r   r   rB   rA   r:   s          rC   r  r    sf    ""7GOO<'##Hg.>.>?(8$,&_a#)s?''	.rk   use_inter_op_parallelismpreserve_cardinalityforce_synchronousc
                    t         j                   xs t        j                         }
|
j                  }|j                  r*	 t	        j
                  |
d|	| |d|d|d|d|d|d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j(                  |d      }|d}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||||	      \  }}}}|d	d	 }t#        j0                         rd|j3                  d      d|j3                  d      d|j3                  d      d|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      d|j3                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||	       Y d	}~nd	}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|

      S # t        j                  $ r Y _w xY wc c}w c c}w )a  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
    f: A function decorated with @Defun.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    use_inter_op_parallelism: An optional `bool`. Defaults to `True`.
    preserve_cardinality: An optional `bool`. Defaults to `False`.
    force_synchronous: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  
MapDatasetrk  r   r   r  r  r  r   N)	rk  r   r   r  r  r  r   r   r   FExpected list for 'output_types' argument to 'map_dataset' Op, not %r.GExpected list for 'output_shapes' argument to 'map_dataset' Op, not %r.TFr   )
r   rE  rk  r   r   r  r  r  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   map_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r   rE  rk  r   r   r  r  r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                        rC   map_datasetr    s!   $ 
			0h..0$#\\11lD-#qo}"$< 46I:x1g n  
L4-	0
	$&2	34 4 DPPR($$R8P,P	MD%=	1
	$&3	45 5 GTT8&&r?;T-T%#%//0HJde! !++,@BXY(():<OPHx4('88M&5#/}/G+?(9H!!QX QK'""$3<<$lll<(.ll>*Oll?+-G  !;<$  !78:M  !45zll:&(F ::LlFG5('	.y && -
##At,,## 
	'
AL%#;3-t  ## 
 Q
 Us<    (I KKJ$I??JJJ2 2K	K	zraw_ops.MapDatasetc                 X   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }|d}t	        j                  |d	      }|d
}t	        j                  |d      }t	        j                  ||
      \  }}t        j                  | t        j                        } | gt        |      z   }d|d|d|d|d|d|d	|d|f}t	        j                  dd|||
|	      }t	        j                         rt	        j                   d|||       |\  }|S c c}w c c}w )Nr  r   r  r   Tr  Fr  r  r   r   rk  rF  s
   MapDatasetrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   r   rv   rL  r%   r   r   r   r   r3   r6   )r   rE  rk  r   r   r  r  r  r   r   r   r<   r=   rM  rB   rA   r:   s                    rC   r  r    s   	L4-	0
	$&2	34 4 DPPR($$R8P,P	MD%=	1
	$&3	45 5 GTT8&&r?;T-T%#%//0HJde! !++,@BXY(():<OPHx4(&.&M&Mo_b&c#O((H-4#88,L"2N0J24H(*h@& ]Al#)s?'""$lFG5('	.? Q
 Us   F"0F'max_intra_op_parallelismc                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|| |d|d|d|d|      }	|	S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }t+        j,                  d| ||||||      \  }}}}|dd }	t#        j.                         rd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j3                  d      f}|j4                  }t#        j6                  d|||	       |	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w c c}w )a    Maps a function on the list of tensors unpacked from arguments on dimension 0.
  The function given by `f` is assumed to be stateless, and is executed
  concurrently on all the slices; up to batch_size (i.e. the size of the 0th
  dimension of each argument) functions will be scheduled at once.

  The `max_intra_op_parallelism` attr, which defaults to 1, can be used to
  limit the intra op parallelism. To limit inter-op parallelism, a user can
  set a private threadpool on the dataset using `tf.data.Options`'s
  `ThreadingOptions`.

  Note that this op is not exposed to users directly, but is invoked in tf.data
  rewrites.

  Args:
    arguments: A list of `Tensor` objects.
          A list of tensors whose types are `Targuments`, corresponding to the inputs
          the function should be mapped over.
    captured_inputs: A list of `Tensor` objects.
          A list of tensors whose types are `Tcaptured`, corresponding to the captured
          inputs of the defun.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
      A list of types.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
      A list of shapes.
    f: A function decorated with @Defun.
    max_intra_op_parallelism: An optional `int`. Defaults to `1`.
    name: A name for the operation (optional).

  Returns:
    A list of `Tensor` objects of type `output_types`.
  MapDefunr   r   rk  r  N)r   r   rk  r  r   r   DExpected list for 'output_types' argument to 'map_defun' Op, not %r.EExpected list for 'output_shapes' argument to 'map_defun' Op, not %r.rG   )	argumentscaptured_inputsr   r   rk  r  r   rF  	Tcaptured)r   r   r    r!   r   r"   r#   r$   r%   r&   r'   map_defun_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   r1   r2   r3   r4   r   r5   r6   )r  r  r   r   rk  r  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   	map_defunr  9  sw   @ 
			0h..0$#\\	11j$	?No}c1"$<>g n 
L4-	0
	"$0	12 2 DPPR($$R8P,P	MD%=	1
	"$1	23 3 GTT8&&r?;T-T% %../GIcd'88i!-]2J	!QX
 QK'""$CLL6ll;'ll>*Oll?+S#,,s2C( :;=F ::LL&'3	.U && -
##At,,## 
%
_<%#;$	 
 ## 
 Q
 Us<    "G IIH'HHHH2 2I	I	zraw_ops.MapDefunc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j                  |	d       }}	|d}t	        j                  |d      }t	        j                  | |      \  }
} t	        j                  ||      \  }}t        |       t        |      z   }d|
d|d|d|d	|d|f}t	        j                  d
t        |      ||||      }t	        j                         rt	        j                  d|||       |S c c}w c c}	w )Nr  r   r  r   rG   r  rF  r  rk  s   MapDefunrH   r  )r*   r+   r,   r-   r.   r/   r0   r   rL  r   r   r3   r6   )r  r  r   r   rk  r  r   r   r<   r=   rM  _attr_TcapturedrB   rA   r:   s                  rC   r  r    s~   	L4-	0
	"$0	12 2 DPPR($$R8P,P	MD%=	1
	"$1	23 3 GTT8&&r?;T-T% %../GIcd ( G G	SV WI%-%L%L_^a%b"/?i4#88,*K,Q68& [#l*;$0C"&(' ""$L&'3	.+ Q
 Us   E0E	algorithm
cpu_budget
ram_budgetc                    t         j                   xs t        j                         }|j                  }|j                  r%	 t	        j
                  |d|| d|d|d|d|d|      }	|	S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j(                  |d      }|d}t#        j(                  |d      }t+        j,                  d| ||||||      \  }}}}|dd }	t#        j.                         r{d|j1                  d      d|j1                  d      d|j1                  d      d|j3                  d      d|j3                  d      f
}|j4                  }t#        j6                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w c c}w )ax  Identity transformation that models performance.

  Identity transformation that models performance.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    algorithm: An optional `int`. Defaults to `0`.
    cpu_budget: An optional `int`. Defaults to `0`.
    ram_budget: An optional `int`. Defaults to `0`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ModelDatasetr  r  r  r   r   N)r  r  r  r   r   r   r   HExpected list for 'output_types' argument to 'model_dataset' Op, not %r.IExpected list for 'output_shapes' argument to 'model_dataset' Op, not %r.r   )r   r   r   r  r  r  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   model_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   r1   r2   r3   r   r4   r5   r6   )r   r   r   r  r  r  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   model_datasetr    s   $ 
			0h..0$#\\	11ndM;	j,
No}6g n 
L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-TI	;7)J  \:*J  \:*'88m%1&3y#-*!#!QX QK'""$3,,[9<-|-~ll>*Oll?+	-F
 ::Lfg7('	.a && -
##At,,## 
)
9l%Dd< < ## 
 Q
 Us<    #G< I4I9<IH**III I10I1zraw_ops.ModelDatasetc           
         t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j                  |	d       }}	|d}t	        j                  |d      }|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } | g}
d|d|d|d|d|f
}t	        j                  d	d
|
|||      }t	        j                         rt	        j                  d|
||       |\  }|S c c}w c c}	w )Nr   r   r  r   r   r  r  r  s   ModelDatasetrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   r   r%   r   r   r   r   r3   r6   )r   r   r   r  r  r  r   r   r<   r=   rB   rA   r:   s                rC   r  r    s   	L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-TI	;7)J  \:*J  \:*((H-,L*lnlO]L&_a#)s?'""$fg7('	.3 Q
 Us   E0E"c                 J   t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|d| d|d|d|d|      }|S t        | t        t        f      st!        d	| z        | D 
cg c]  }
t#        j$                  |
d       } }
t#        j$                  |d      }t#        j$                  |d      }t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j(                  |
d       }}
t+        j,                  d| |||||      \  }}}}|dd }t#        j.                         r{d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f
}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y /w xY wc c}
w c c}w c c}
w )a	  Creates a MultiDeviceIterator resource.

  Args:
    devices: A list of `strings` that has length `>= 1`.
      A list of devices the iterator works across.
    shared_name: A `string`.
      If non-empty, this resource will be shared under the given name
      across multiple sessions.
    container: A `string`.
      If non-empty, this resource is placed in the given container.
      Otherwise, a default container is used.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
      The type list for the return values.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
      The list of shapes being produced.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  MultiDeviceIteratorrn   r  r  r   r   N)rn   r  r  r   r   r   r   KExpected list for 'devices' argument to 'multi_device_iterator' Op, not %r.PExpected list for 'output_types' argument to 'multi_device_iterator' Op, not %r.QExpected list for 'output_shapes' argument to 'multi_device_iterator' Op, not %r.)rn   r  r  r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   $multi_device_iterator_eager_fallbackr)   r*   r+   r,   r-   r.   rv   r/   r0   r1   r2   r3   r4   r5   r6   )rn   r  r  r   r   r   r8   r9   r:   r;   r=   r<   r>   r?   r@   rA   rB   s                    rC   r  r    s   * 
			0h..0$#\\	11#T9g}[)^\(g n 
GdE]	+
	.07	89 9 9@@"Xr9-@'@!!+}=+	;7)	L4-	0
	.0<	=> > DPPR($$R8P,P	MD%=	1
	.0=	>? ? GTT8&&r?;T-T'88wK)2-:G!QX QK'""$i0-ll=);ll;'ll>*Oll?+	-F
 ::L|VW>('	.Y && -
##At,,## 
1{i#=t  ## 
 A Q
 UsB    "H J>JJ I&2II&%I&*I< <JJzraw_ops.MultiDeviceIteratorc           
         t        | t        t        f      st        d| z        | D cg c]  }t	        j
                  |d       } }t	        j
                  |d      }t	        j
                  |d      }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}g }	d| d|d|d|d|f
}
t	        j                  d	d
|	|
||      }t	        j                         rt	        j                  d|	|
|       |\  }|S c c}w c c}w c c}w )Nr  rn   r  r  r  r   r	  r   s   MultiDeviceIteratorrG   rH   r  r   )rn   r  r  r   r   r   r   r=   r<   rB   rA   r:   s               rC   r
  r
  n  s   	GdE]	+
	.07	89 9 9@@"Xr9-@'@!!+}=+	;7)	L4-	0
	.0<	=> > DPPR($$R8P,P	MD%=	1
	.0=	>? ? GTT8&&r?;T-T,w{K^\?MK&3Q|#)s?'""$|VW>('	.- A Q
 Us   EE"#E'c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S |g }t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}|g }t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )	a  Generates a MultiDeviceIterator resource from its provided string handle.

  Args:
    string_handle: A `Tensor` of type `string`.
      String representing the resource.
    output_types: An optional list of `tf.DTypes`. Defaults to `[]`.
      The type list for the return values.
    output_shapes: An optional list of shapes (each a `tf.TensorShape` or list of `ints`). Defaults to `[]`.
      The list of shapes being produced.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  #MultiDeviceIteratorFromStringHandler   r   Nr   cExpected list for 'output_types' argument to 'multi_device_iterator_from_string_handle' Op, not %r.dExpected list for 'output_shapes' argument to 'multi_device_iterator_from_string_handle' Op, not %r.r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   7multi_device_iterator_from_string_handle_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  s                  rC   (multi_device_iterator_from_string_handler    s%    
			0h..0$#\\113T=o}Fg n L	L4-	0
	ACO	PQ Q DPPR($$R8P,PM	MD%=	1
	ACP	QR R GTT8&&r?;T-T'88-]<H=J48	:!QX
 QK'""$cll>:Oll?+-F::L-|VWN('	.M && -
##At,,## 
D
l%Dd< < ## 
 Q Ur  z+raw_ops.MultiDeviceIteratorFromStringHandlec                 6   |g }t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}|g }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } | g}d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d|||	       |	\  }	|	S c c}w c c}w )	Nr  r   r  r   s#   MultiDeviceIteratorFromStringHandlerG   rH   r  r  r  s
             rC   r  r    s@   L	L4-	0
	ACO	PQ Q DPPR($$R8P,PM	MD%=	1
	ACP	QR R GTT8&&r?;T-T((G-,L/=I&CQ$0C"&(' ""$-|VWN('	.% Q Ur  	shard_numincarnation_idc                    t         j                   xs t        j                         }|j                  }|j                  r!	 t	        j
                  |d|| ||d|d|
      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}t)        j*                  d| |||||      \  }}}}|dd }|s|S t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )	a  Gets next element for the provided shard number.

  Args:
    multi_device_iterator: A `Tensor` of type `resource`.
      A MultiDeviceIterator resource.
    shard_num: A `Tensor` of type `int32`.
      Integer representing which shard to fetch data for.
    incarnation_id: A `Tensor` of type `int64`.
      Which incarnation of the MultiDeviceIterator is running.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
      The type list for the return values.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
      The list of shapes being produced.
    name: A name for the operation (optional).

  Returns:
    A list of `Tensor` objects of type `output_types`.
  #MultiDeviceIteratorGetNextFromShardr   r   Nr   dExpected list for 'output_types' argument to 'multi_device_iterator_get_next_from_shard' Op, not %r.eExpected list for 'output_shapes' argument to 'multi_device_iterator_get_next_from_shard' Op, not %r.)r  r  r  r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   8multi_device_iterator_get_next_from_shard_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   )r  r  r  r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   )multi_device_iterator_get_next_from_shardr    s    & 
			0h..0$#\\	113Ty..o}6g n 
L4-	0
	BDP	QR R DPPR($$R8P,P	MD%=	1
	BDQ	RS S GTT8&&r?;T-T'88-EZ9B>L<H=J48:!QX QK'	J""$cll>:Oll?+-F::L-|VWN	.M && -
##At,,## 
E
N#=t  ## 
 Q
 Us<    E6 G-G26F=	F$$F=<F=G G*)G*z+raw_ops.MultiDeviceIteratorGetNextFromShardc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}	d|d|f}
t	        j                  dt        |      |	|
||      }t	        j                         rt	        j                   d|	|
|       |S c c}w c c}w )Nr  r   r  r   s#   MultiDeviceIteratorGetNextFromShardrH   r  )r*   r+   r,   r-   r.   r/   r0   r%   r   r   r   int32r   r   r   r3   r6   )r  r  r  r   r   r   r   r<   r=   rB   rA   r:   s               rC   r  r  1  s]   	L4-	0
	BDP	QR R DPPR($$R8P,P	MD%=	1
	BDQ	RS S GTT8&&r?;T-T001FHXHXY$$Y>))).'--H.'NC,L/=I&C .|#)s?' ""$-|VWN	.# Q
 Us   E0Emax_buffer_sizec                 h   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| ||      }|S t        j                  d| |||      \  }}}	}
|
dd }t        j                          r&d}|	j"                  }t        j$                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY w)a  Initializes the multi device iterator with the given dataset.

  Args:
    dataset: A `Tensor` of type `variant`. Dataset to be iterated upon.
    multi_device_iterator: A `Tensor` of type `resource`.
      A MultiDeviceIteratorResource.
    max_buffer_size: A `Tensor` of type `int64`.
      The maximum size of the host side per device buffer to keep.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `int64`.
  MultiDeviceIteratorInitNrb   )r   r  r  r   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   )multi_device_iterator_init_eager_fallbackr)   r1   r2   r.   r3   r5   r6   )r   r  r  r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                rC   multi_device_iterator_initr!  J  sB    
			0h..0$#\\11'w8Mg n (88!79N3BO!QX QK'""$F::L!<B('	.- && -
##At,,## 
6
(/  ## 
s0    C   DC..DDD D10D1zraw_ops.MultiDeviceIteratorInitc                    t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j
                        }| ||g}d }t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Ns   MultiDeviceIteratorInitrG   rH   r  )
r%   r   r   r   r   r   r.   r   r3   r6   )r   r  r  r   r   rB   rA   r:   s           rC   r   r   {  s    ""7GOO<'001FHXHXY**?GMMJ/0/B,&7$0C"&(' ""$!<B('	.rk   c                 \   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d||       }|S t        j                  d| |      \  }}}}|dd }t        j                          r&d}	|j"                  }
t        j$                  d|
|	|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||      S # t        j                  $ r Y w xY w)a  Produces a string handle for the given MultiDeviceIterator.

  Args:
    multi_device_iterator: A `Tensor` of type `resource`.
      A MultiDeviceIterator resource.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `string`.
  !MultiDeviceIteratorToStringHandleNrb   )r  r   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   5multi_device_iterator_to_string_handle_eager_fallbackr)   r1   r2   r.   r3   r5   r6   )r  r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s              rC   &multi_device_iterator_to_string_handler&    s0    
			0h..0$#\\1114g n (88+CX268!QX QK'""$F::L+\67L('	.) && -
##At,,## 
B
d6 6## 
r   z)raw_ops.MultiDeviceIteratorToStringHandlec                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns!   MultiDeviceIteratorToStringHandlerG   rH   r$  r  )r  r   r   rB   rA   r:   s         rC   r%  r%    sz    001FHXHXY'(,&A1$0C"&(' ""$+\67L('	.rk   c                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|d| d|d|d|d|      }|S t        |t        t        f      st!        d	|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j(                  |d      }t+        j,                  d| |||||      \  }}}}|dd }t#        j.                         r{d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f
}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )a  Makes a "one-shot" iterator that can be iterated only once.

  A one-shot iterator bundles the logic for defining the dataset and
  the state of the iterator in a single op, which allows simple input
  pipelines to be defined without an additional initialization
  ("MakeIterator") step.

  One-shot iterators have the following limitations:

  * They do not support parameterization: all logic for creating the underlying
    dataset must be bundled in the `dataset_factory` function.
  * They are not resettable. Once a one-shot iterator reaches the end of its
    underlying dataset, subsequent "IteratorGetNext" operations on that
    iterator will always produce an `OutOfRange` error.

  For greater flexibility, use "Iterator" and "MakeIterator" to define
  an iterator using an arbitrary subgraph, which may capture tensors
  (including fed values) as parameters, and which may be reset multiple
  times by rerunning "MakeIterator".

  Args:
    dataset_factory: A function decorated with @Defun.
      A function of type `() -> DT_VARIANT`, where the returned
      DT_VARIANT is a dataset.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    container: An optional `string`. Defaults to `""`.
    shared_name: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  OneShotIteratordataset_factoryr   r   r  r  N)r*  r   r   r  r  r   r   LExpected list for 'output_types' argument to 'one_shot_iterator' Op, not %r.MExpected list for 'output_shapes' argument to 'one_shot_iterator' Op, not %r.r   )r*  r   r   r  r  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'    one_shot_iterator_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r*  r   r   r  r  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   one_shot_iteratorr.    s   D 
			0h..0$#\\	11'8/o}Y{<g n 
L4-	0
	*,8	9: : DPPR($$R8P,P	MD%=	1
	*,9	:; ; GTT8&&r?;T-TI	;7)K!!+}=+'88?(4)6)'2	?!QX
 QK'""$.?!@cll>:Oll?+[ll;'ll=)	+F
 ::L<:('	.Y && -
##At,,## 
-)%!$8 8 ## 
 Q
 Us<    "G  II H'3HH'&H'+H= =IIzraw_ops.OneShotIteratorc           
      P   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }g }	d| d|d|d|d|f
}
t	        j                  d	d
|	|
||      }t	        j                         rt	        j                  d|	|
|       |\  }|S c c}w c c}w )Nr+  r   r,  r   r   r  r  r*  s   OneShotIteratorrG   rH   r)  )r*   r+   r,   r-   r.   r/   r0   rv   r   r3   r6   )r*  r   r   r  r  r   r   r<   r=   rB   rA   r:   s               rC   r-  r-  !  sR   	L4-	0
	*,8	9: : DPPR($$R8P,P	MD%=	1
	*,9	:; ; GTT8&&r?;T-TI	;7)K!!+}=+,=+y-& /<#)s?'""$<:('	.- Q
 Us   D0D#optimizationsc                    t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|g }t        |t        t        f      st!        d	|z        |D cg c]  }t#        j(                  |d       }}t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w c c}w )a  Creates a dataset by applying optimizations to `input_dataset`.

  Creates a dataset by applying optimizations to `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    optimizations: A `Tensor` of type `string`.
      A `tf.string` vector `tf.Tensor` identifying optimizations to use.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    optimization_configs: An optional list of `strings`. Defaults to `[]`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  OptimizeDatasetr   r   optimization_configsNr   r   r3  r   r   KExpected list for 'output_types' argument to 'optimize_dataset' Op, not %r.LExpected list for 'output_shapes' argument to 'optimize_dataset' Op, not %r.SExpected list for 'optimization_configs' argument to 'optimize_dataset' Op, not %r.)r   r0  r   r   r3  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   optimize_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r0  r   r   r3  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   optimize_datasetr9  ?  s   $ 
			0h..0$#\\	11}mo} 46g n 
L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-T!	(4-	8
	)+?	@A A SggB(++B0FGgg'88)6(4)60D $&!QX QK'""$cll>:Oll?+-Cll124F ::L<:('	.[ && -
##At,,## 
,
\%3$DJ J ## 
 Q
 U hsB     G 	I
IIH&HHHH0 0IIzraw_ops.OptimizeDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|g }t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w c c}w )Nr5  r   r6  r   r7  r3  s   OptimizeDatasetrG   rH   r2  r   )r   r0  r   r   r3  r   r   r<   r=   rB   rA   r:   s               rC   r8  r8    s   	L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-T!	(4-	8
	)+?	@A A SggB(++B0FGgg((H-((G-/,L/=.0&/<#)s?'""$<:('	.1 Q
 U hs   E;0F ;Foptimizations_enabledoptimizations_disabledoptimizations_defaultc                    t         j                   xs t        j                         }|j                  }	|	j                  r$	 t	        j
                  |d|| |||d|d|d|      }
|
S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|g }t        |t        t        f      st!        d	|z        |D cg c]  }t#        j(                  |d       }}t+        j,                  d| |||||||
	      \  }}}}|dd }
t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||
       |
\  }
|
S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||||||	      S # t        j                  $ r Y w xY wc c}w c c}w c c}w )a  Creates a dataset by applying related optimizations to `input_dataset`.

  Creates a dataset by applying related optimizations to `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    optimizations_enabled: A `Tensor` of type `string`.
      A `tf.string` vector `tf.Tensor` identifying user enabled optimizations.
    optimizations_disabled: A `Tensor` of type `string`.
      A `tf.string` vector `tf.Tensor` identifying user disabled optimizations.
    optimizations_default: A `Tensor` of type `string`.
      A `tf.string` vector `tf.Tensor` identifying optimizations by default.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    optimization_configs: An optional list of `strings`. Defaults to `[]`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  OptimizeDatasetV2r   r   r3  Nr4  NExpected list for 'output_types' argument to 'optimize_dataset_v2' Op, not %r.OExpected list for 'output_shapes' argument to 'optimize_dataset_v2' Op, not %r.VExpected list for 'optimization_configs' argument to 'optimize_dataset_v2' Op, not %r.)r   r;  r<  r=  r   r   r3  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   "optimize_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r;  r<  r=  r   r   r3  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                      rC   optimize_dataset_v2rD    s   , 
			0h..0$#\\
11!48M 5~o}6L	g
 n 
L4-	0
	,.:	;< < DPPR($$R8P,P	MD%=	1
	,.;	<= = GTT8&&r?;T-T!	(4-	8
	,.B	CD D SggB(++B0FGgg'88=3H4J3H*6+82F"&(!QX QK'""$cll>:Oll?+-Cll124F ::L\67<('	.a && -
##At,,## 
/
.0F
l%3$D	J J
 ## 
 Q
 U hsB    "G IIIH*HHH"H6 6IIzraw_ops.OptimizeDatasetV2c	                    t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j
                  |	d       }}	t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j                  |
d       }}
|g }t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j                  |
d       }}
t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| |||g}d|d|d|f}t	        j                  dd||||	      }t	        j                         rt	        j                  d
|||       |\  }|S c c}	w c c}
w c c}
w )Nr@  r   rA  r   rB  r3  s   OptimizeDatasetV2rG   rH   r?  r   )r   r;  r<  r=  r   r   r3  r   r   r<   r=   rB   rA   r:   s                 rC   rC  rC    s   	L4-	0
	,.:	;< < DPPR($$R8P,P	MD%=	1
	,.;	<= = GTT8&&r?;T-T!	(4-	8
	,.B	CD D SggB(++B0FGgg((H-001FW112H'..Y001FW!68NPef,L/=.0&11\#)s?'""$\67<('	.5 Q
 U hs   G0G
;Gserialized_optionsc                    t         j                   xs t        j                         }|j                  }|j                  r#	 t	        j
                  |d|| d|d|d|d|      }|S t        j                  |d      }t        |t         t"        f      st%        d|z        |D 
cg c]  }
t        j&                  |
d       }}
t        |t         t"        f      st%        d	|z        |D cg c]  }t        j(                  |d       }}|d
}t        j                  |d      }t+        j,                  d| |||||      \  }}}}|dd }t        j.                         rjd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )am  Creates a dataset by attaching tf.data.Options to `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    serialized_options: A `string`.
      A `tf.string` scalar `tf.Tensor` of serialized `tf.data.Options` protocol buffer.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  OptionsDatasetrF  r   r   r   N)rF  r   r   r   r   r   JExpected list for 'output_types' argument to 'options_dataset' Op, not %r.KExpected list for 'output_shapes' argument to 'options_dataset' Op, not %r.r   )r   rF  r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   options_dataset_eager_fallbackr)   r.   rv   r*   r+   r,   r-   r/   r0   r1   r2   r3   r4   r5   r6   )r   rF  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   options_datasetrL  #  sk     
			0h..0$#\\	11m5INL/z8-g n  (();=QR	L4-	0
	(*6	78 8 DPPR($$R8P,P	MD%=	1
	(*7	89 9 GTT8&&r?;T-THx4('88-?'3(5#%!QX QK'""$"CLL1E$Fcll>:Oll?+Zll:&(F ::L,9('	.U && -
##At,,## 
+
,>#=$D2 2 ## 
 Q
 Us<    !G
  I'I
HG88HHH' 'H>=H>zraw_ops.OptionsDatasetc                    t        j                  |d      }t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}|d}t        j                  |d      }t        j                  | t        j                        } | g}	d|d|d|d|f}
t        j                  dd	|	|
||
      }t        j                         rt        j                  d|	|
|       |\  }|S c c}w c c}w )NrF  rI  r   rJ  r   r   r   s   OptionsDatasetrG   rH   rH  )r.   rv   r*   r+   r,   r-   r/   r0   r%   r   r   r   r   r3   r6   )r   rF  r   r   r   r   r   r<   r=   rB   rA   r:   s               rC   rK  rK  k  s]   (();=QR	L4-	0
	(*6	78 8 DPPR($$R8P,P	MD%=	1
	(*7	89 9 GTT8&&r?;T-THx4(((H-, "4n
HF&.,#)s?'""$,9('	.' Q
 Us   D=Epadded_shapesc                 2   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |||d|d|      }	|	S t        |t        t        f      st!        d|z        t#        |      }t        |t        t        f      st!        d|z        |D cg c]  }t%        j&                  |d       }}|d}t%        j(                  |d      }t+        j,                  d| ||||||	      \  }}}}|dd }	t%        j.                         rjd
|j1                  d
      d|j1                  d      d|j3                  d      d|j1                  d      f}|j4                  }t%        j6                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w )a  Creates a dataset that batches and pads `batch_size` elements from the input.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    batch_size: A `Tensor` of type `int64`.
      A scalar representing the number of elements to accumulate in a
      batch.
    padded_shapes: A list of at least 1 `Tensor` objects with type `int64`.
      A list of int64 tensors representing the desired padded shapes
      of the corresponding output components. These shapes may be partially
      specified, using `-1` to indicate that a particular dimension should be
      padded to the maximum size of all batch elements.
    padding_values: A list of `Tensor` objects.
      A list of scalars containing the padding value to use for
      each of the outputs.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  PaddedBatchDatasetr   r   Nr   r   r   r   PExpected list for 'padded_shapes' argument to 'padded_batch_dataset' Op, not %r.PExpected list for 'output_shapes' argument to 'padded_batch_dataset' Op, not %r.r   )r   r   rN  padding_valuesr   r   r   Toutput_typesr  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #padded_batch_dataset_eager_fallbackr)   r*   r+   r,   r-   r   r.   r0   rv   r1   r2   r3   r4   r   r5   r6   )r   r   rN  rT  r   r   r   r8   r9   r:   r;   r  r=   r>   r?   r@   rA   rB   s                     rC   padded_batch_datasetrW    s:   . 
			0h..0$#\\	11"D-~Hg n 
MD%=	1
	-/<	=> > '	MD%=	1
	-/<	=> > GTT8&&r?;T-THx4('88M)3,9-;,9H#')!QX QK'""$s||O<oll?+S#2C2CC2H#,,z24F ::LlFG=('	.Q && -
##At,,## 
0
]N%tO O ## 
 Us6     F 8HG#/G

G#"G#'G: :HHzraw_ops.PaddedBatchDatasetc                    t        |t        t        f      st        d|z        t	        |      }t        |t        t        f      st        d|z        |D 	cg c]  }	t        j                  |	d       }}	|d}t        j                  |d      }t        j                  ||      \  }
}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| |gt        |      z   t        |      z   }d|
d|d|d|f}t        j                  dd	||||
      }t        j                          rt        j"                  d|||       |\  }|S c c}	w )NrR  rS  r   r   r   rU  r  s   PaddedBatchDatasetrG   rH   rP  )r*   r+   r,   r-   r   r.   r0   rv   rL  r%   r   r   r   r   r  r   r3   r6   )r   r   rN  rT  r   r   r   r   r  r=   _attr_Toutput_typesrB   rA   r:   s                 rC   rV  rV    s   	MD%=	1
	-/<	=> > '	MD%=	1
	-/<	=> > GTT8&&r?;T-THx4((0(O(OP^`c(d%~((H-%%j'--@***='--H-,tM/BBT.EYY,0/gz85&2Al#)s?'""$lFG=('	.# Us   F	c	                    t         j                   xs t        j                         }	|	j                  }
|
j                  r%	 t	        j
                  |	d|| ||||d|d|d|      }|S t        |t        t        f      st!        d|z        t#        |      }t        |t        t        f      st!        d|z        |D cg c]  }t%        j&                  |d       }}|d	}t%        j(                  |d      }|d
}t%        j*                  |d      }t-        j.                  d| ||||||||
      \  }}}}|dd }t%        j0                         r{d|j3                  d      d|j5                  d      d|j5                  d      d|j7                  d      d|j5                  d      f
}|j8                  }t%        j:                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	
      S # t        j                  $ r Y w xY wc c}w )a  Creates a dataset that batches and pads `batch_size` elements from the input.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    batch_size: A `Tensor` of type `int64`.
      A scalar representing the number of elements to accumulate in a
      batch.
    padded_shapes: A list of at least 1 `Tensor` objects with type `int64`.
      A list of int64 tensors representing the desired padded shapes
      of the corresponding output components. These shapes may be partially
      specified, using `-1` to indicate that a particular dimension should be
      padded to the maximum size of all batch elements.
    padding_values: A list of `Tensor` objects.
      A list of scalars containing the padding value to use for
      each of the outputs.
    drop_remainder: A `Tensor` of type `bool`.
      A scalar representing whether the last batch should be dropped in case its size
      is smaller than desired.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    parallel_copy: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  PaddedBatchDatasetV2r   r   r   N)r   r   r   r   r   SExpected list for 'padded_shapes' argument to 'padded_batch_dataset_v2' Op, not %r.SExpected list for 'output_shapes' argument to 'padded_batch_dataset_v2' Op, not %r.Fr   )	r   r   rN  rT  r   r   r   r   r   rU  r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   &padded_batch_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r   r.   r0   r   rv   r1   r2   r3   r   r4   r   r5   r6   )r   r   rN  rT  r   r   r   r   r   r8   r9   r:   r;   r  r=   r>   r?   r@   rA   rB   s                       rC   padded_batch_dataset_v2r_    s   6 
			0h..0$#\\	11$dM:~~z8Mg n 
MD%=	1
	02?	@A A '	MD%=	1
	02?	@A A GTT8&&r?;T-TM$$]OD-Hx4('88m+5.;/=/=.;.;)1>!QX QK'""$s11/Bs||O<oll?+S#2C2CC2H#,,z24F ::Lfg?('	._ && -
##At,,## 
3
]N
%tO O ## 
 Us6    #G ;IHG::HHH, ,IIzraw_ops.PaddedBatchDatasetV2c
           
         t        |t        t        f      st        d|z        t	        |      }
t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}|d}t        j                  |d      }|d}t        j                  |d      }t        j                  ||	      \  }}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                         }| |gt        |      z   t        |      z   |gz   }d|d|d|d	|
d|f
}t        j"                  d
d|||	|      }t        j$                         rt        j&                  d|||       |\  }|S c c}w )Nr\  r]  r   Fr   r   r   rU  r  s   PaddedBatchDatasetV2rG   rH   r[  )r*   r+   r,   r-   r   r.   r0   r   rv   rL  r%   r   r   r   r   r  r   r   r3   r6   )r   r   rN  rT  r   r   r   r   r   r   r  r=   rY  rB   rA   r:   s                   rC   r^  r^  J  s   	MD%=	1
	02?	@A A '	MD%=	1
	02?	@A A GTT8&&r?;T-TM$$]OD-Hx4((0(O(OP^`c(d%~((H-%%j'--@***='--H-)).',,G.,tM/BBT.EYY]k\ll,]OsGh& 4a#)s?'""$fg?('	.- Us   Gnum_parallel_callsdeterministicc
                    t         j                   xs t        j                         }
|
j                  }|j                  r(	 t	        j
                  |
d|	| |||d|d|d|d|d|      }|S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j*                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||||	      \  }}}}|dd }t#        j0                         r{d|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      d|j5                  d      f
}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||	       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
      S # t        j                  $ r Y w xY wc c}w c c}w )a  TODO: add doc.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    batch_size: A `Tensor` of type `int64`.
    num_parallel_calls: A `Tensor` of type `int64`.
    drop_remainder: A `Tensor` of type `bool`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    parallel_copy: An optional `bool`. Defaults to `False`.
    deterministic: An optional `string`. Defaults to `"default"`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelBatchDatasetr   r   r   rb  r   N)r   r   r   rb  r   r   r   QExpected list for 'output_types' argument to 'parallel_batch_dataset' Op, not %r.RExpected list for 'output_shapes' argument to 'parallel_batch_dataset' Op, not %r.Fdefaultr   )
r   r   ra  r   r   r   r   rb  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   %parallel_batch_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r   r4   r5   r6   )r   r   ra  r   r   r   r   rb  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                        rC   parallel_batch_datasetri  m  s   $ 
			0h..0$#\\
11$dM:NO]o}
H	>g
 n 
L4-	0
	/1=	>? ? DPPR($$R8P,P	MD%=	1
	/1>	?@ @ GTT8&&r?;T-TM$$]OD-M##M?C-Hx4('88m+53E/=-9.;.;.;)1	>!QX QK'""$s11/Bcll>:Oll?+_ll?+Zll:&	(F
 ::Lfg?('	.k && -
##At,,## 
2
%7%L%]$D	2 2
 ## 
 Q
 Us<    &H I=JI	H00I	I	I# #I:9I:zraw_ops.ParallelBatchDatasetc           
         t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }|d	}t	        j                  |d
      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| |||g}d|d|d|d|d
|f
}t	        j                  dd|||
|	      }t	        j                          rt	        j"                  d|||       |\  }|S c c}w c c}w )Nre  r   rf  r   Fr   rg  rb  r   r   s   ParallelBatchDatasetrG   rH   rd  r   )r   r   ra  r   r   r   r   rb  r   r   r   r<   r=   rB   rA   r:   s                   rC   rh  rh    s   	L4-	0
	/1=	>? ? DPPR($$R8P,P	MD%=	1
	/1>	?@ @ GTT8&&r?;T-TM$$]OD-M##M?C-Hx4(((H-%%j'--@*--.@'--P)).',,G.-?P,]NL=/=*
& 4a#)s?'""$fg?('	.; Q
 Us   G0Gc	                    t         j                   xs t        j                         }	|	j                  }
|
j                  r'	 t	        j
                  |	d|| ||d|d|d|d|d|      }|S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j(                  |d      }t+        j,                  d| ||||||||
      \  }}}}|dd }t#        j.                         rd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	
      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset containing elements of `input_dataset` matching `predicate`.

  The `predicate` function must return a scalar boolean and accept the
  following arguments:

  * One tensor for each component of an element of `input_dataset`.
  * One tensor for each value in `other_arguments`.

  Unlike a "FilterDataset", which applies `predicate` sequentially, this dataset
  invokes up to `num_parallel_calls` copies of `predicate` in parallel.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
      A list of tensors, typically values that were captured when
      building a closure for `predicate`.
    num_parallel_calls: A `Tensor` of type `int64`.
      The number of concurrent invocations of `predicate` that process
      elements from `input_dataset` in parallel.
    predicate: A function decorated with @Defun.
      A function returning a scalar boolean.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    deterministic: An optional `string`. Defaults to `"default"`.
      A string indicating the op-level determinism to use. Deterministic controls
      whether the interleave is allowed to return elements out of order if the next
      element to be returned isn't available, but a later element is. Options are
      "true", "false", and "default". "default" indicates that determinism should be
      decided by the `experimental_deterministic` parameter of `tf.data.Options`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelFilterDatasetrB  rb  r   r   r   N)rB  rb  r   r   r   r   r   RExpected list for 'output_types' argument to 'parallel_filter_dataset' Op, not %r.SExpected list for 'output_shapes' argument to 'parallel_filter_dataset' Op, not %r.rg  r   )	r   rE  ra  rB  r   r   rb  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   &parallel_filter_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rE  ra  rB  r   r   rb  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                       rC   parallel_filter_datasetrp    s   H 
			0h..0$#\\
11%t]OKO~|_z8	-g
 n 
L4-	0
	02>	?@ @ DPPR($$R8P,P	MD%=	1
	02?	@A A GTT8&&r?;T-TM##M?C-Hx4('88}1@4F+4.:/</<*2?!QX QK'""$3<<4oll?+\ll<(.ll>*Oll?+Zll:&(F ::Lvw@('	.e && -
##At,,## 
3
*<]#=$D	2 2
 ## 
 Q
 Us<    %G7 I1I67H>
H%%H>=H>I I.-I.zraw_ops.ParallelFilterDatasetc
                 8   t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j
                  |
d       }}
t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }t	        j                  ||	      \  }}t        j                  | t        j                        } t        j                  |t        j                        }| gt        |      z   |gz   }d	|d|d
|d|d|d|f}t	        j                  dd|||	|      }t	        j                         rt	        j                   d|||       |\  }|S c c}
w c c}w )Nrm  r   rn  r   rg  rb  r   r   rB  rF  s   ParallelFilterDatasetrG   rH   rl  r  )r   rE  ra  rB  r   r   rb  r   r   r   r<   r=   rM  rB   rA   r:   s                   rC   ro  ro  M  s   	L4-	0
	02>	?@ @ DPPR($$R8P,P	MD%=	1
	02?	@A A GTT8&&r?;T-TM##M?C-Hx4(&.&M&Mo_b&c#O((H---.@'--P4#88<N;OO,O] .,=*h8& 5q#)s?'""$vw@('	.3 Q
 Us   F0Fsloppyc                    t         j                   xs t        j                         }|j                  }|j                  r)	 t	        j
                  |d|
| ||||d|d|d|d|d|	      }|S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|	d}	t#        j*                  |	d      }	t-        j.                  d| |||||||||	|
      \  }}}}|dd }t#        j0                         rd|j3                  d      d|j3                  d      d|j3                  d      d|j3                  d      d|j5                  d      d|j3                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||
       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
|      S # t        j                  $ r Y w xY wc c}w c c}w )aR	  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  The resulting dataset is similar to the `InterleaveDataset`, except that the
  dataset will fetch records from the interleaved datasets in parallel.

  The `tf.data` Python API creates instances of this op from
  `Dataset.interleave()` when the `num_parallel_calls` parameter of that method
  is set to any value other than `None`.

  By default, the output of this dataset will be deterministic, which may result
  in the dataset blocking if the next data item to be returned isn't available.
  In order to avoid head-of-line blocking, one can set the
  `experimental_deterministic` parameter of `tf.data.Options` to `False`,
  which can improve performance at the expense of non-determinism.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      Dataset that produces a stream of arguments for the function `f`.
    other_arguments: A list of `Tensor` objects.
      Additional arguments to pass to `f` beyond those produced by `input_dataset`.
      Evaluated once when the dataset is instantiated.
    cycle_length: A `Tensor` of type `int64`.
      Number of datasets (each created by applying `f` to the elements of
      `input_dataset`) among which the `ParallelInterleaveDatasetV2` will cycle in a
      round-robin fashion.
    block_length: A `Tensor` of type `int64`.
      Number of elements at a time to produce from each interleaved invocation of a
      dataset returned by `f`.
    num_parallel_calls: A `Tensor` of type `int64`.
      Determines the number of threads that should be used for fetching data from
      input datasets in parallel. The Python API `tf.data.experimental.AUTOTUNE`
      constant can be used to indicate that the level of parallelism should be autotuned.
    f: A function decorated with @Defun.
      A function mapping elements of `input_dataset`, concatenated with
      `other_arguments`, to a Dataset variant that contains elements matching
      `output_types` and `output_shapes`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    sloppy: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelInterleaveDatasetV2rk  r   r   rr  r   N)rk  r   r   rr  r   r   r   YExpected list for 'output_types' argument to 'parallel_interleave_dataset_v2' Op, not %r.ZExpected list for 'output_shapes' argument to 'parallel_interleave_dataset_v2' Op, not %r.Fr   )r   rE  r  r  ra  rk  r   r   rr  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   -parallel_interleave_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r   rE  r  r  ra  rk  r   r   rr  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                         rC   parallel_interleave_dataset_v2rx  n  s   \ 
			0h..0$#\\
11+T=|5G	><-&*h	0g
 n 
L4-	0
	79E	FG G DPPR($$R8P,P	MD%=	1
	79F	GH H GTT8&&r?;T-T^Ffh/&Hx4('88%]7F4@4@:L)*5B.4x,0	2!QX QK'""$3<<$lll<(.ll>*Oll?+X  *Jll:&(F ::L%|VWF('	.g && -
##At,,## 
:
,
%fx	 
 ## 
 Q
 U<    'G; I7I<;IH))III I43I4z#raw_ops.ParallelInterleaveDatasetV2c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|	d}	t	        j                  |	d      }	t	        j                  ||      \  }}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| gt        |      z   |||gz   }d	|d
|d|d|d|d|	f}t	        j                  dd||||
      }t	        j                          rt	        j"                  d|||       |\  }|S c c}w c c}w )Nru  r   rv  r   Frr  r   r   rk  rF  s   ParallelInterleaveDatasetV2rG   rH   rt  r*   r+   r,   r-   r.   r/   r0   r   rv   rL  r%   r   r   r   r   r   r3   r6   )r   rE  r  r  ra  rk  r   r   rr  r   r   r   r<   r=   rM  rB   rA   r:   s                     rC   rw  rw    s   	L4-	0
	79E	FG G DPPR($$R8P,P	MD%=	1
	79F	GH H GTT8&&r?;T-T^Ffh/&Hx4(&.&M&Mo_b&c#O((H-''gmmD,''gmmD,--.@'--P4#88L,Xj;kk,L"2N&*
& ;Q$0C"&(' ""$%|VWF('	.9 Q
 U   G0G!c                    t         j                   xs t        j                         }|j                  }|j                  r)	 t	        j
                  |d|
| ||||d|d|d|d|d|	      }|S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|	d}	t#        j(                  |	d      }	t+        j,                  d| |||||||||	|
      \  }}}}|dd }t#        j.                         rd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||
       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
|      S # t        j                  $ r Y w xY wc c}w c c}w )aQ  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  The resulting dataset is similar to the `InterleaveDataset`, except that the
  dataset will fetch records from the interleaved datasets in parallel.

  The `tf.data` Python API creates instances of this op from
  `Dataset.interleave()` when the `num_parallel_calls` parameter of that method
  is set to any value other than `None`.

  By default, the output of this dataset will be deterministic, which may result
  in the dataset blocking if the next data item to be returned isn't available.
  In order to avoid head-of-line blocking, one can either set the `deterministic`
  attribute to "false", or leave it as "default" and set the
  `experimental_deterministic` parameter of `tf.data.Options` to `False`.
  This can improve performance at the expense of non-determinism.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      Dataset that produces a stream of arguments for the function `f`.
    other_arguments: A list of `Tensor` objects.
      Additional arguments to pass to `f` beyond those produced by `input_dataset`.
      Evaluated once when the dataset is instantiated.
    cycle_length: A `Tensor` of type `int64`.
      Number of datasets (each created by applying `f` to the elements of
      `input_dataset`) among which the `ParallelInterleaveDatasetV2` will cycle in a
      round-robin fashion.
    block_length: A `Tensor` of type `int64`.
      Number of elements at a time to produce from each interleaved invocation of a
      dataset returned by `f`.
    num_parallel_calls: A `Tensor` of type `int64`.
      Determines the number of threads that should be used for fetching data from
      input datasets in parallel. The Python API `tf.data.experimental.AUTOTUNE`
      constant can be used to indicate that the level of parallelism should be autotuned.
    f: A function decorated with @Defun.
      A function mapping elements of `input_dataset`, concatenated with
      `other_arguments`, to a Dataset variant that contains elements matching
      `output_types` and `output_shapes`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    deterministic: An optional `string`. Defaults to `"default"`.
      A string indicating the op-level determinism to use. Deterministic controls
      whether the interleave is allowed to return elements out of order if the next
      element to be returned isn't available, but a later element is. Options are
      "true", "false", and "default". "default" indicates that determinism should be
      decided by the `experimental_deterministic` parameter of `tf.data.Options`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelInterleaveDatasetV3rk  rb  r   r   r   Nrk  rb  r   r   r   r   r   YExpected list for 'output_types' argument to 'parallel_interleave_dataset_v3' Op, not %r.ZExpected list for 'output_shapes' argument to 'parallel_interleave_dataset_v3' Op, not %r.rg  r   )r   rE  r  r  ra  rk  r   r   rb  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   -parallel_interleave_dataset_v3_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rE  r  r  ra  rk  r   r   rb  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                         rC   parallel_interleave_dataset_v3r    s   h 
			0h..0$#\\
11+T=|5G	?M><
H	>g
 n 
L4-	0
	79E	FG G DPPR($$R8P,P	MD%=	1
	79F	GH H GTT8&&r?;T-TM##M?C-Hx4('88%]7F4@4@:L)*5B5B08t	E!QX QK'""$3<<$oll?+\ll<(.ll>*Oll?+Zll:&(F ::L%|VWF('	.g && -
##At,,## 
:
,
#=$D	2 2
 ## 
 Q
 Ury  z#raw_ops.ParallelInterleaveDatasetV3c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|	d}	t	        j                  |	d      }	t	        j                  ||      \  }}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| gt        |      z   |||gz   }d	|d|d
|d|d|d|	f}t	        j                  dd||||
      }t	        j                         rt	        j                   d|||       |\  }|S c c}w c c}w )Nr  r   r  r   rg  rb  r   r   rk  rF  s   ParallelInterleaveDatasetV3rG   rH   r~  r  )r   rE  r  r  ra  rk  r   r   rb  r   r   r   r<   r=   rM  rB   rA   r:   s                     rC   r  r  x  s   	L4-	0
	79E	FG G DPPR($$R8P,P	MD%=	1
	79F	GH H GTT8&&r?;T-TM##M?C-Hx4(&.&M&Mo_b&c#O((H-''gmmD,''gmmD,--.@'--P4#88L,Xj;kk,O]LNL/X'& ;Q$0C"&(' ""$%|VWF('	.9 Q
 Ur|  buffer_output_elementsprefetch_input_elementsc                    t         j                   xs t        j                         }|j                  }|j                  r+	 t	        j
                  |d|| ||||||d|d|
d|d|	d|      }|S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |	t        t        f      st!        d
|	z        |	D cg c]  }t#        j&                  |d       }	}|
d}
t#        j(                  |
d      }
|d}t#        j(                  |d      }t+        j,                  d| |||||||||	|
||      \  }}}}|dd }t#        j.                         rd|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||||||
||	|||      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  The resulting dataset is similar to the `InterleaveDataset`, except that the
  dataset will fetch records from the interleaved datasets in parallel.

  The `tf.data` Python API creates instances of this op from
  `Dataset.interleave()` when the `num_parallel_calls` parameter of that method
  is set to any value other than `None`.

  By default, the output of this dataset will be deterministic, which may result
  in the dataset blocking if the next data item to be returned isn't available.
  In order to avoid head-of-line blocking, one can either set the `deterministic`
  attribute to "false", or leave it as "default" and set the
  `experimental_deterministic` parameter of `tf.data.Options` to `False`.
  This can improve performance at the expense of non-determinism.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      Dataset that produces a stream of arguments for the function `f`.
    other_arguments: A list of `Tensor` objects.
      Additional arguments to pass to `f` beyond those produced by `input_dataset`.
      Evaluated once when the dataset is instantiated.
    cycle_length: A `Tensor` of type `int64`.
      Number of datasets (each created by applying `f` to the elements of
      `input_dataset`) among which the `ParallelInterleaveDatasetV2` will cycle in a
      round-robin fashion.
    block_length: A `Tensor` of type `int64`.
      Number of elements at a time to produce from each interleaved invocation of a
      dataset returned by `f`.
    buffer_output_elements: A `Tensor` of type `int64`.
      The number of elements each iterator being interleaved should buffer (similar
      to the `.prefetch()` transformation for each interleaved iterator).
    prefetch_input_elements: A `Tensor` of type `int64`.
      Determines the number of iterators to prefetch, allowing buffers to warm up and
      data to be pre-fetched without blocking the main thread.
    num_parallel_calls: A `Tensor` of type `int64`.
      Determines the number of threads that should be used for fetching data from
      input datasets in parallel. The Python API `tf.data.experimental.AUTOTUNE`
      constant can be used to indicate that the level of parallelism should be autotuned.
    f: A function decorated with @Defun.
      A function mapping elements of `input_dataset`, concatenated with
      `other_arguments`, to a Dataset variant that contains elements matching
      `output_types` and `output_shapes`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    deterministic: An optional `string`. Defaults to `"default"`.
      A string indicating the op-level determinism to use. Deterministic controls
      whether the interleave is allowed to return elements out of order if the next
      element to be returned isn't available, but a later element is. Options are
      "true", "false", and "default". "default" indicates that determinism should be
      decided by the `experimental_deterministic` parameter of `tf.data.Options`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelInterleaveDatasetV4rk  rb  r   r   r   Nr  YExpected list for 'output_types' argument to 'parallel_interleave_dataset_v4' Op, not %r.ZExpected list for 'output_shapes' argument to 'parallel_interleave_dataset_v4' Op, not %r.rg  r   )r   rE  r  r  r  r  ra  rk  r   r   rb  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   -parallel_interleave_dataset_v4_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rE  r  r  r  r  ra  rk  r   r   rb  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                           rC   parallel_interleave_dataset_v4r    s   t 
			0h..0$#\\11+T=|5K!3S!_~|_z8-g n 
L4-	0
	79E	FG G DPPR($$R8P,P	MD%=	1
	79F	GH H GTT8&&r?;T-TM##M?C-Hx4('88%]7F4@4@>T?V:L)*5B5B08tE!QX QK'""$3<<$oll?+\ll<(.ll>*Oll?+Zll:&(F ::L%|VWF('	.k && -
##At,,## 
:
,
 "9;M]%t	O O
 ## 
 Q
 Us<    )G? I=J?IH--II
I# #I:9I:z#raw_ops.ParallelInterleaveDatasetV4c                 `   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |	t        t        f      st        d|	z        |	D cg c]  }t	        j                  |d       }	}|
d}
t	        j                  |
d      }
|d}t	        j                  |d      }t	        j                  ||      \  }}t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| gt        |      z   |||||gz   }d	|d|
d
|d|d|	d|f}t	        j                  dd||||      }t	        j                         rt	        j                   d|||       |\  }|S c c}w c c}w )Nr  r   r  r   rg  rb  r   r   rk  rF  s   ParallelInterleaveDatasetV4rG   rH   r  r  )r   rE  r  r  r  r  ra  rk  r   r   rb  r   r   r   r<   r=   rM  rB   rA   r:   s                       rC   r  r    s0   	L4-	0
	79E	FG G DPPR($$R8P,P	MD%=	1
	79F	GH H GTT8&&r?;T-TM##M?C-Hx4(&.&M&Mo_b&c#O((H-''gmmD,''gmmD,112H'--X 223JGMMZ--.@'--P4#88L,Xn  qH  J\  <]  ],O]LNL/X'& ;Q$0C"&(' ""$%|VWF('	.= Q
 Us   H&0H+c                    t         j                   xs t        j                         }|j                  }|j                  r+	 t	        j
                  |d|
| ||d|d|d|d|d|d|d|	      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j(                  |d      }|d}t#        j(                  |d      }|	d}	t#        j*                  |	d      }	t-        j.                  d| |||||||||	|
      \  }}}}|d	d	 }t#        j0                         rd|j3                  d      d|j3                  d      d|j3                  d      d|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      d|j3                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||
       Y d	}~nd	}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
|
      S # t        j                  $ r Y aw xY wc c}w c c}w )a   Creates a dataset that applies `f` to the outputs of `input_dataset`.

  Unlike a "MapDataset", which applies `f` sequentially, this dataset invokes up
  to `num_parallel_calls` copies of `f` in parallel.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
    num_parallel_calls: A `Tensor` of type `int32`.
      The number of concurrent invocations of `f` that process
      elements from `input_dataset` in parallel.
    f: A function decorated with @Defun.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    use_inter_op_parallelism: An optional `bool`. Defaults to `True`.
    sloppy: An optional `bool`. Defaults to `False`.
    preserve_cardinality: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelMapDatasetrk  r   r   r  rr  r  r   N)	rk  r   r   r  rr  r  r   r   r   OExpected list for 'output_types' argument to 'parallel_map_dataset' Op, not %r.PExpected list for 'output_shapes' argument to 'parallel_map_dataset' Op, not %r.TFr   )r   rE  ra  rk  r   r   r  rr  r  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #parallel_map_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r   rE  ra  rk  r   r   r  rr  r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                         rC   parallel_map_datasetr  A  s"   0 
			0h..0$#\\11"D-CNL(B (F4Jj(4g n 
L4-	0
	-/;	<= = DPPR($$R8P,P	MD%=	1
	-/<	=> > GTT8&&r?;T-T%#%//0HJde^Ffh/&! !++,@BXYHx4('88M.=1Cq+7,97O%+3G'/d	<!QX QK'""$3<<$lll<(.ll>*Oll?+-G  !;<h  *,B  !78*ll:&(F ::LlFG=('	.y && -
##At,,## 
0
*<#=#;F3h  ## 
 Q
 Us<    )I KKJ&JJJJ5 5KKzraw_ops.ParallelMapDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }|d}t	        j                  |d	      }|	d
}	t	        j                  |	d      }	t	        j                  ||      \  }}t        j                  | t        j                        } t        j                  |t        j                        }| gt        |      z   |gz   }d|d|d|d|d|d|d	|d|	f}t	        j                  dd||||
      }t	        j                          rt	        j"                  d|||       |\  }|S c c}w c c}w )Nr  r   r  r   Tr  Frr  r  r   r   rk  rF  s   ParallelMapDatasetrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   r   rv   rL  r%   r   r   r   r  r   r3   r6   )r   rE  ra  rk  r   r   r  rr  r  r   r   r   r<   r=   rM  rB   rA   r:   s                     rC   r  r    s    	L4-	0
	-/;	<= = DPPR($$R8P,P	MD%=	1
	-/<	=> > GTT8&&r?;T-T%#%//0HJde^Ffh/&! !++,@BXYHx4(&.&M&Mo_b&c#O((H---.@'--P4#88<N;OO,L"2N0JHf.D
H.& 2Al#)s?'""$lFG=('	.A Q
 Us   G
0Guse_unbounded_threadpoolc                    t         j                   xs t        j                         }|j                  }|j                  r-	 t	        j
                  |d|| ||d|d|d|d|d|d|d|	d	|
      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j*                  |d      }|d}t#        j(                  |d      }|	d}	t#        j(                  |	d      }	|
d}
t#        j*                  |
d	      }
t-        j.                  d| |||||||||	|
|      \  }}}}|d
d
 }t#        j0                         rd|j3                  d      d|j3                  d      d|j3                  d      d|j3                  d      d|j5                  d      d|j3                  d      d|j5                  d      d|j5                  d      d	|j3                  d	      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d
}~nd
}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
||      S # t        j                  $ r Y w xY wc c}w c c}w )aT  Creates a dataset that applies `f` to the outputs of `input_dataset`.

  Unlike a "MapDataset", which applies `f` sequentially, this dataset invokes up
  to `num_parallel_calls` copies of `f` in parallel.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    other_arguments: A list of `Tensor` objects.
    num_parallel_calls: A `Tensor` of type `int64`.
      The number of concurrent invocations of `f` that process
      elements from `input_dataset` in parallel.
    f: A function decorated with @Defun.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    use_inter_op_parallelism: An optional `bool`. Defaults to `True`.
    deterministic: An optional `string`. Defaults to `"default"`.
    preserve_cardinality: An optional `bool`. Defaults to `False`.
    use_unbounded_threadpool: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ParallelMapDatasetV2rk  r   r   r  rb  r  r  r   N)
rk  r   r   r  rb  r  r  r   r   r   RExpected list for 'output_types' argument to 'parallel_map_dataset_v2' Op, not %r.SExpected list for 'output_shapes' argument to 'parallel_map_dataset_v2' Op, not %r.Trg  Fr   )r   rE  ra  rk  r   r   r  rb  r  r  r   r   rF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   &parallel_map_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r   rE  ra  rk  r   r   r  rb  r  r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                          rC   parallel_map_dataset_v2r    sg   2 
			0h..0$#\\11$dM?CNL(B /= 4"$<jg n" 
L4-	0
	02>	?@ @ DPPR($$R8P,P	MD%=	1
	02?	@A A GTT8&&r?;T-T%#%//0HJdeM##M?C-! !++,@BXY%$%//0HJdeHx4('88m0?3E-9.;9Q.;5I9Q)1
>!QX QK'""$3<<$lll<(.ll>*Oll?+-G  !;<oll?+-C  !78(  !;<jll:&	(F ::Lfg?('	.I && -
##At,,## 

3
*<#=#;%3#;$D2 2 ## 
 Q
 Us<    +J K>LKJ//KKK$ $K;:K;zraw_ops.ParallelMapDatasetV2c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }|d	}t	        j                  |d
      }|	d	}	t	        j                  |	d      }	|
d}
t	        j                  |
d      }
t	        j                  ||      \  }}t        j                  | t        j                        } t        j                  |t        j                        }| gt        |      z   |gz   }d|d|d|d|d|d|d
|d|	d|
f}t	        j                  dd||||      }t	        j                          rt	        j"                  d|||       |\  }|S c c}w c c}w )Nr  r   r  r   Tr  rg  rb  Fr  r  r   r   rk  rF  s   ParallelMapDatasetV2rG   rH   r  r{  )r   rE  ra  rk  r   r   r  rb  r  r  r   r   r   r<   r=   rM  rB   rA   r:   s                      rC   r  r  <  s-   	L4-	0
	02>	?@ @ DPPR($$R8P,P	MD%=	1
	02?	@A A GTT8&&r?;T-T%#%//0HJdeM##M?C-! !++,@BXY%$%//0HJdeHx4(&.&M&Mo_b&c#O((H---.@'--P4#88<N;OO,L"2N0JO].0JJ	2&
 4a#)s?'""$fg?('	.I Q
 Us   G&0G+slack_periodlegacy_autotunebuffer_size_minc	                 `   t         j                   xs t        j                         }	|	j                  }
|
j                  r(	 t	        j
                  |	d|| |d|d|d|d|d|d|      }|S t        |t        t        f      st!        d
|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j*                  |d      }|d}t#        j(                  |d      }|d}t#        j,                  |d      }t/        j0                  d| ||||||||
      \  }}}}|dd }t#        j2                         rd|j5                  d      d|j5                  d      d|j7                  d      d|j9                  d      d|j7                  d      d|j5                  d      f}|j:                  }t#        j<                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||		
      S # t        j                  $ r Y ;w xY wc c}w c c}w )a  Creates a dataset that asynchronously prefetches elements from `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    buffer_size: A `Tensor` of type `int64`.
      The maximum number of elements to buffer in an iterator over
      this dataset.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    slack_period: An optional `int`. Defaults to `0`.
    legacy_autotune: An optional `bool`. Defaults to `True`.
    buffer_size_min: An optional `int`. Defaults to `0`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  PrefetchDatasetr   r   r  r  r  r   N)r   r   r  r  r  r   r   r   KExpected list for 'output_types' argument to 'prefetch_dataset' Op, not %r.LExpected list for 'output_shapes' argument to 'prefetch_dataset' Op, not %r.r   Tr   )	r   r[  r   r   r  r  r  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   prefetch_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   r   rv   r1   r2   r3   r4   r   r   r5   r6   )r   r[  r   r   r  r  r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                       rC   prefetch_datasetr  h  s   & 
			0h..0$#\\
11}ko}&7?J	Bg
 n 
L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-TL""<@,O&&8IJ/O%%o7HI/Hx4('88'2)6(4+:+:X $&!QX QK'""$cll>:Oll?+^/1B  !235F 12Jll:&(F ::L<:('	.o && -
##At,,## 
,
<%L)?$D	2 2
 ## 
 Q
 Us<    &H, J&J+,I3?II32I37J J#"J#zraw_ops.PrefetchDatasetc
                 P   t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j
                  |
d       }}
t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }|d}t	        j                  |d	      }|d
}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}d|d|d|d|d	|d|f}t	        j                  dd|||	|      }t	        j                          rt	        j"                  d|||       |\  }|S c c}
w c c}w )Nr  r   r  r   r   r  Tr  r  r   r   s   PrefetchDatasetrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   r   r   rv   r%   r   r   r   r   r   r3   r6   )r   r[  r   r   r  r  r  r   r   r   r<   r=   rB   rA   r:   s                  rC   r  r    s   	L4-	0
	)+7	89 9 DPPR($$R8P,P	MD%=	1
	)+8	9: : GTT8&&r?;T-TL""<@,O&&8IJ/O%%o7HI/Hx4(((H-&&{GMMB+-,L/=, 1?_j(<& /<#)s?'""$<:('	.= Q
 Us   F0F#startstopstepreplicate_on_splitc                    t         j                   xs t        j                         }|j                  }	|	j                  r%	 t	        j
                  |d|| ||d|d|d|d|      }
|
S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||	      \  }}}}|dd }
t#        j0                         rjd|j3                  d      d|j3                  d      d|j3                  d      d|j5                  d      f}|j6                  }t#        j8                  d|||
       |
\  }
|
S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||||||	      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset with a range of values. Corresponds to python's xrange.

  Args:
    start: A `Tensor` of type `int64`.
      corresponds to start in python's xrange().
    stop: A `Tensor` of type `int64`.
      corresponds to stop in python's xrange().
    step: A `Tensor` of type `int64`.
      corresponds to step in python's xrange().
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    replicate_on_split: An optional `bool`. Defaults to `False`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  RangeDatasetr   r   r   r  N)r   r   r   r  r   r   HExpected list for 'output_types' argument to 'range_dataset' Op, not %r.IExpected list for 'output_shapes' argument to 'range_dataset' Op, not %r.r   F)r  r  r  r   r   r   r  r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   range_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r   r1   r2   r3   r4   r   r5   r6   )r  r  r  r   r   r   r  r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                      rC   range_datasetr    s   & 
			0h..0$#\\	11ndE4~o}j(02g n 
L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-THx4())*<>RS'88e$T%1&3h+=D	J!QX
 QK'""$cll>:Oll?+Zll:&(<  !568F ::Lfg7('	.W && -
##At,,## 
)
t,%/dF F ## 
 Q
 Ur   zraw_ops.RangeDatasetc	                 *   t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j
                  |	d       }}	t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j                  |
d       }}
|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}d|d|d|d|f}t	        j                  d	d
||||      }t	        j                         rt	        j                  d|||       |\  }|S c c}	w c c}
w )Nr  r   r  r   r   r   Fr  s   RangeDatasetrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   rv   r   r%   r   r   r   r   r3   r6   )r  r  r  r   r   r   r  r   r   r<   r=   rB   rA   r:   s                 rC   r  r  3  s   	L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-THx4())*<>RS

 
 
6%			gmm	4$			gmm	4$t$,L/=h,.@B&_a#)s?'""$fg7('	.1 Q
 Ur   c	                    t         j                   xs t        j                         }	|	j                  }
|
j                  r'	 t	        j
                  |	d|| ||d|d|d|d|d|      }|S t        |t        t        f      st!        d	|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d
|z        |D cg c]  }t#        j&                  |d       }}|d}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| ||||||||
      \  }}}}|dd }|s|S t#        j0                         rd|j3                  d      d|j3                  d      d|j3                  d      d|j3                  d      d|j3                  d      d|j5                  d      d|j3                  d      f}|j6                  }t#        j8                  d|||       |S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	
      S # t        j                  $ r Y w xY wc c}w c c}w )a  Reduces the input dataset to a singleton using a reduce function.

  Args:
    input_dataset: A `Tensor` of type `variant`.
      A variant tensor representing the input dataset.
    initial_state: A list of `Tensor` objects.
      A nested structure of tensors, representing the initial state of the
      transformation.
    other_arguments: A list of `Tensor` objects.
    f: A function decorated with @Defun.
      A function that maps `(old_state, input_element)` to `new_state`. It must take
      two arguments and return a nested structures of tensors. The structure of
      `new_state` must match the structure of `initial_state`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    use_inter_op_parallelism: An optional `bool`. Defaults to `True`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A list of `Tensor` objects of type `output_types`.
  ReduceDatasetrk  r   r   r  r   N)rk  r   r   r  r   r   r   IExpected list for 'output_types' argument to 'reduce_dataset' Op, not %r.JExpected list for 'output_shapes' argument to 'reduce_dataset' Op, not %r.Tr   )	r   initial_staterE  rk  r   r   r  r   r   TstaterF  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   reduce_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r   r  rE  rk  r   r   r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                       rC   reduce_datasetr  S  s   . 
			0h..0$#\\
11ot]Ma(B *h	8g
 n 
L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-T%#%//0HJdeHx4('88}'4)8A&2'42J"*7!QX QK'	J""$3<<$hX0FCLL6ll>*Oll?+-G  !;<jll:&(F ::Lvw8	.e && -
##At,,## 
*
1#=#;$D	2 2
 ## 
 Q
 Us<    %H JJIH66III( (I?>I?zraw_ops.ReduceDatasetc
                 @   t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j
                  |
d       }}
t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }t	        j                  ||	      \  }}t	        j                  ||	      \  }}t        j                  | t        j                        } | gt        |      z   t        |      z   }d	|d
|d|d|d|d|d|f}t	        j                  dt        |      |||	|      }t	        j                          rt	        j"                  d|||       |S c c}
w c c}w )Nr  r   r  r   Tr  r   r   rk  r  rF  s   ReduceDatasetrH   r  )r*   r+   r,   r-   r.   r/   r0   r   rv   rL  r%   r   r   r   r   r   r3   r6   )r   r  rE  rk  r   r   r  r   r   r   r<   r=   _attr_TstaterM  rB   rA   r:   s                    rC   r  r    s   	L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-T%#%//0HJdeHx4( ( G GWZ [,&.&M&Mo_b&c#O((H-4#66o9NN,HlL:J,6
HN& -s</@$0C"&(' ""$vw8	.3 Q
 Us   F0Fcountc                 F   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )a  Creates a dataset that emits the outputs of `input_dataset` `count` times.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    count: A `Tensor` of type `int64`.
      A scalar representing the number of times that `input_dataset` should
      be repeated. A value of `-1` indicates that it should be repeated infinitely.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  RepeatDatasetr   r   r   Nr   IExpected list for 'output_types' argument to 'repeat_dataset' Op, not %r.JExpected list for 'output_shapes' argument to 'repeat_dataset' Op, not %r.r   r   r  r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   repeat_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   r   r  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   repeat_datasetr    sB     
			0h..0$#\\11ot]E>o}j(Lg n 
L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4('88}E&2'4x"	$!QX
 QK'""$cll>:Oll?+Zll:&(F ::Lvw8('	.M && -
##At,,## 
*
\%tO O ## 
 Q
 Ur   zraw_ops.RepeatDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w )Nr  r   r  r   r   r   s   RepeatDatasetrG   rH   r  r   r   r  r   r   r   r   r   r<   r=   rB   rA   r:   s               rC   r  r    s[   	L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4(((H-

 
 
6%',L/=h&-q#)s?'""$vw8('	.) Q
 Ur   rewrite_namec                    t         j                   xs t        j                         }|j                  }|j                  r 	 t	        j
                  |d|| |d|d|	      }|S t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j$                  |	d       }}	t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j&                  |
d       }}
t)        j*                  d| ||||      \  }}}}|dd }t#        j,                         rHd|j/                  d      d|j/                  d      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}	w c c}
w )	a  TODO: add doc.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    rewrite_name: A `Tensor` of type `string`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  RewriteDatasetr   r   Nr   JExpected list for 'output_types' argument to 'rewrite_dataset' Op, not %r.KExpected list for 'output_shapes' argument to 'rewrite_dataset' Op, not %r.)r   r  r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   rewrite_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   )r   r  r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                   rC   rewrite_datasetr  +  s    
			0h..0$#\\11m\o}Fg n 
L4-	0
	(*6	78 8 DPPR($$R8P,P	MD%=	1
	(*7	89 9 GTT8&&r?;T-T'88'3'3(5D	B!QX
 QK'""$cll>:Oll?+-F::L,9('	.E && -
##At,,## 
+
L%Dd< < ## 
 Q
 Us<    E4 G*G/4F;F""F;:F;?G G'&G'zraw_ops.RewriteDatasetc                 p   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t        j                  | t        j                        } t        j                  |t        j                        }| |g}d|d|f}	t	        j                  dd||	||      }
t	        j                         rt	        j                  d||	|
       |
\  }
|
S c c}w c c}w )	Nr  r   r  r   s   RewriteDatasetrG   rH   r  )r*   r+   r,   r-   r.   r/   r0   r%   r   r   r   r   r   r3   r6   )r   r  r   r   r   r   r<   r=   rB   rA   r:   s              rC   r  r  g  s7   	L4-	0
	(*6	78 8 DPPR($$R8P,P	MD%=	1
	(*7	89 9 GTT8&&r?;T-T((H-''gnnE,.,L/=I&.,#)s?'""$,9('	.! Q
 Us   D.0D3c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|      }|S |d}t        j                  |d      }t        j                   d| ||      \  }}}}	|	dd }t        j"                         r7d|j%                  d      f}
|j&                  }t        j(                  d||
|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||      S # t        j                  $ r Y w xY w)aV  Converts the given `resource_handle` representing an iterator to a variant tensor.

  Args:
    resource_handle: A `Tensor` of type `resource`.
      A handle to an iterator resource.
    external_state_policy: An optional `int`. Defaults to `0`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  SerializeIteratorr   N)r   r   r   r   )r#  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   !serialize_iterator_eager_fallbackr)   r.   r   r1   r2   r3   r   r5   r6   )r#  r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s               rC   serialize_iteratorr    sq    
			0h..0$#\\11!4!68g n ""++,ACZ['88_3H"&(!QX QK'""$% 78:F::L\67<('	.5 && -
##At,,## 
.
1F  ## 
r   zraw_ops.SerializeIteratorc                 &   |d}t        j                  |d      }t        j                  | t        j
                        } | g}d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr   r   s   SerializeIteratorrG   rH   r  )	r.   r   r%   r   r   r   r   r3   r6   )r#  r   r   r   rB   rA   r:   s          rC   r  r    s    ""++,ACZ[**?G<L<LM/!",#%:;&11\#)s?'""$\67<('	.rk   
num_shardsindexrequire_non_emptyc                    t         j                   xs t        j                         }|j                  }	|	j                  r%	 t	        j
                  |d|| ||d|d|d|d|      }
|
S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||	      \  }}}}|dd }
t#        j0                         rjd|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      f}|j6                  }t#        j8                  d|||
       |
\  }
|
S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||||||	      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a `Dataset` that includes only 1/`num_shards` of this dataset.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    num_shards: A `Tensor` of type `int64`.
      An integer representing the number of shards operating in parallel.
    index: A `Tensor` of type `int64`.
      An integer representing the current worker index.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    require_non_empty: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ShardDatasetr  r   r   r   N)r  r   r   r   r   r   HExpected list for 'output_types' argument to 'shard_dataset' Op, not %r.IExpected list for 'output_shapes' argument to 'shard_dataset' Op, not %r.Fr   )r   r  r  r   r   r  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   shard_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r   r4   r5   r6   )r   r  r  r   r   r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                      rC   shard_datasetr    s   $ 
			0h..0$#\\	11ndM:u.
H>g n 
L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-T(():<OPHx4('88m
#,&3*;!)6!QX QK'""$!3#5#56I#Jcll>:Oll?+Zll:&(F ::Lfg7('	.Y && -
##At,,## 
)
U-L%tO O ## 
 Q
 Ur   zraw_ops.ShardDatasetc	                 *   t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j
                  |	d       }}	t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j                  |
d       }}
|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}d|d|d|d|f}t	        j                  d	d
||||      }t	        j                         rt	        j                   d|||       |\  }|S c c}	w c c}
w )Nr  r   r  r   Fr  r   r   s   ShardDatasetrG   rH   r  r*   r+   r,   r-   r.   r/   r0   r   rv   r%   r   r   r   r   r   r3   r6   )r   r  r  r   r   r  r   r   r   r<   r=   rB   rA   r:   s                 rC   r  r    s   	L4-	0
	&(4	56 6 DPPR($$R8P,P	MD%=	1
	&(5	67 7 GTT8&&r?;T-T(():<OPHx4(((H-%%j'--@*

 
 
6%U3,!2N
HF&_a#)s?'""$fg7('	.1 Q
 Ur   reshuffle_each_iterationc
                    t         j                   xs t        j                         }
|
j                  }|j                  r'	 t	        j
                  |
d|	| ||||d|d|d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||||	      \  }}}}|dd }t#        j0                         rjd|j3                  d      d|j3                  d      d|j5                  d      d|j3                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||	       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset that shuffles and repeats elements from `input_dataset`

  pseudorandomly.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    buffer_size: A `Tensor` of type `int64`.
      The number of output elements to buffer in an iterator over
      this dataset. Compare with the `min_after_dequeue` attr when creating a
      `RandomShuffleQueue`.
    seed: A `Tensor` of type `int64`.
      A scalar seed for the random number generator. If either `seed` or
      `seed2` is set to be non-zero, the random number generator is seeded
      by the given seed.  Otherwise, a random seed is used.
    seed2: A `Tensor` of type `int64`.
      A second scalar seed to avoid seed collision.
    count: A `Tensor` of type `int64`.
      A scalar representing the number of times the underlying dataset
      should be repeated. The default is `-1`, which results in infinite repetition.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    reshuffle_each_iteration: An optional `bool`. Defaults to `True`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ShuffleAndRepeatDatasetr   r   r  r   N)r   r   r  r   r   r   UExpected list for 'output_types' argument to 'shuffle_and_repeat_dataset' Op, not %r.VExpected list for 'output_shapes' argument to 'shuffle_and_repeat_dataset' Op, not %r.Tr   )
r   r[  r   r   r  r   r   r  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   )shuffle_and_repeat_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r   r[  r   r   r  r   r   r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                        rC   shuffle_and_repeat_datasetr  .  s   : 
			0h..0$#\\
11'}keUNL/13KH	g
 n 
L4-	0
	35A	BC C DPPR($$R8P,P	MD%=	1
	35B	CD D GTT8&&r?;T-T%#%//0HJdeHx4('88!/:).e0<1><T,44A!QX QK'""$cll>:Oll?+-G  !;<jll:&(F ::L!<B('	._ && -
##At,,## 
6
dE5#=#;$D	2 2
 ## 
 Q
 U<    %G IIH)HHH!H7 7IIzraw_ops.ShuffleAndRepeatDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| ||||g}d|d|d|d|f}t	        j                  d	d
|||
|	      }t	        j                         rt	        j                   d|||       |\  }|S c c}w c c}w )Nr  r   r  r   Tr  r   r   s   ShuffleAndRepeatDatasetrG   rH   r  r  )r   r[  r   r   r  r   r   r  r   r   r   r<   r=   rB   rA   r:   s                   rC   r  r    s   	L4-	0
	35A	BC C DPPR($$R8P,P	MD%=	1
	35B	CD D GTT8&&r?;T-T%#%//0HJdeHx4(((H-&&{GMMB+			gmm	4$

 
 
6%

 
 
6%dE5A,L/=6
HN&7$0C"&(' ""$!<B('	.7 Q
 U   G0Gseed_generatorc                    t         j                   xs t        j                         }|j                  }|j                  r(	 t	        j
                  |d|
| |||||d|d|d|d|	      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|	d}	t#        j*                  |	d      }	t-        j.                  d| |||||||||	|
      \  }}}}|dd }t#        j0                         rjd|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||
       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
|      S # t        j                  $ r Y w xY wc c}w c c}w )a  TODO: add doc.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    buffer_size: A `Tensor` of type `int64`.
    seed: A `Tensor` of type `int64`.
    seed2: A `Tensor` of type `int64`.
    count: A `Tensor` of type `int64`.
    seed_generator: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    reshuffle_each_iteration: An optional `bool`. Defaults to `True`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ShuffleAndRepeatDatasetV2r  r   r   r   Nr  r   r   r   r   r   XExpected list for 'output_types' argument to 'shuffle_and_repeat_dataset_v2' Op, not %r.YExpected list for 'output_shapes' argument to 'shuffle_and_repeat_dataset_v2' Op, not %r.Tr   )r   r[  r   r   r  r  r   r   r  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   ,shuffle_and_repeat_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r   r4   r5   r6   )r   r[  r   r   r  r  r   r   r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                         rC   shuffle_and_repeat_dataset_v2r    s   & 
			0h..0$#\\
11)4eUN,F .,
H	>g
 n 
L4-	0
	68D	EF F DPPR($$R8P,P	MD%=	1
	68E	FG G GTT8&&r?;T-T%#%//0HJdeHx4('88#=1<4+04B2>3@>V.6TC!QX QK'""$(  !;<nll>*Oll?+Zll:&	(F
 ::L#\67D('	.c && -
##At,,## 
9
dE5.#;#=$D	2 2
 ## 
 Q
 Us<    &G IIH+HHH#H: :IIz!raw_ops.ShuffleAndRepeatDatasetV2c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|	d}	t	        j                  |	d      }	t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| |||||g}d|d|d|d|	f}t	        j                  d	d
||||
      }t	        j                          rt	        j"                  d|||       |\  }|S c c}w c c}w )Nr  r   r  r   Tr  r   r   s   ShuffleAndRepeatDatasetV2rG   rH   r  r*   r+   r,   r-   r.   r/   r0   r   rv   r%   r   r   r   r   r   r   r3   r6   )r   r[  r   r   r  r  r   r   r  r   r   r   r<   r=   rB   rA   r:   s                    rC   r  r    s   	L4-	0
	68D	EF F DPPR($$R8P,P	MD%=	1
	68E	FG G GTT8&&r?;T-T%#%//0HJdeHx4(((H-&&{GMMB+			gmm	4$

 
 
6%

 
 
6%)).':J:JK.dE5.Q,&(@,

& 91$0C"&(' ""$#\67D('	.; Q
 Us   G:0G?c	                    t         j                   xs t        j                         }	|	j                  }
|
j                  r&	 t	        j
                  |	d|| |||d|d|d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| ||||||||
      \  }}}}|dd }t#        j0                         rjd|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	
      S # t        j                  $ r Y w xY wc c}w c c}w )a  Creates a dataset that shuffles elements from `input_dataset` pseudorandomly.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    buffer_size: A `Tensor` of type `int64`.
      The number of output elements to buffer in an iterator over
      this dataset. Compare with the `min_after_dequeue` attr when creating a
      `RandomShuffleQueue`.
    seed: A `Tensor` of type `int64`.
      A scalar seed for the random number generator. If either `seed` or
      `seed2` is set to be non-zero, the random number generator is seeded
      by the given seed.  Otherwise, a random seed is used.
    seed2: A `Tensor` of type `int64`.
      A second scalar seed to avoid seed collision.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    reshuffle_each_iteration: An optional `bool`. Defaults to `True`.
      If true, each iterator over this dataset will be given
      a different pseudorandomly generated seed, based on a sequence seeded by the
      `seed` and `seed2` inputs. If false, each iterator will be given the same
      seed, and repeated iteration over this dataset will yield the exact same
      sequence of results.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ShuffleDatasetr  r   r   r   Nr  JExpected list for 'output_types' argument to 'shuffle_dataset' Op, not %r.KExpected list for 'output_shapes' argument to 'shuffle_dataset' Op, not %r.Tr   )	r   r[  r   r   r   r   r  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   shuffle_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r   r4   r5   r6   )r   r[  r   r   r   r   r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                       rC   shuffle_datasetr  $  s   : 
			0h..0$#\\	11m[$"$<no}j(Lg n 
L4-	0
	(*6	78 8 DPPR($$R8P,P	MD%=	1
	(*7	89 9 GTT8&&r?;T-T%#%//0HJdeHx4('88&1E'3(53K#+$8!QX QK'""$(  !;<nll>*Oll?+Zll:&	(F
 ::L,9('	._ && -
##At,,## 
+
dE#;#=$D	2 2
 ## 
 Q
 Us<    $G IIH'HHHH4 4I
Izraw_ops.ShuffleDatasetc
                 t   t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j
                  |
d       }}
t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| |||g}d|d|d|d|f}t	        j                  d	d
|||	|      }t	        j                         rt	        j                   d|||       |\  }|S c c}
w c c}w )Nr  r   r  r   Tr  r   r   s   ShuffleDatasetrG   rH   r  r  )r   r[  r   r   r   r   r  r   r   r   r<   r=   rB   rA   r:   s                  rC   r  r  ~  s   	L4-	0
	(*6	78 8 DPPR($$R8P,P	MD%=	1
	(*7	89 9 GTT8&&r?;T-T%#%//0HJdeHx4(((H-&&{GMMB+			gmm	4$

 
 
6%dE:,&(@,

& .,#)s?'""$,9('	.5 Q
 Us   F00F5c                 L   t         j                   xs t        j                         }|j                  }|j                  r#	 t	        j
                  |d|| ||d|d|d|      }	|	S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| ||||||
      \  }}}}|dd }	t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||	       |	\  }	|	S # t        j                  $ r }
t        j                  |
|       Y d}
~
nd}
~
wt        j                  $ r Y nw xY w	 t        | |||||||      S # t        j                  $ r Y w xY wc c}w c c}w )a  TODO: add doc.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    buffer_size: A `Tensor` of type `int64`.
    seed_generator: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ShuffleDatasetV2r   r   r   Nr   MExpected list for 'output_types' argument to 'shuffle_dataset_v2' Op, not %r.NExpected list for 'output_shapes' argument to 'shuffle_dataset_v2' Op, not %r.r   )r   r[  r  r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   !shuffle_dataset_v2_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   r[  r  r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   shuffle_dataset_v2r    sJ    
			0h..0$#\\	11 ${oz8-g n 
L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-THx4('88-(3+9)5*7(!%'!QX QK'""$cll>:Oll?+Zll:&(F ::LL&';('	.S && -
##At,,## 
.
n#=$D2 2 ## 
 Q
 Ur   zraw_ops.ShuffleDatasetV2c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D 	cg c]  }	t	        j                  |	d       }}	|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }| ||g}
d|d|d|f}t	        j                  dd|
|||	      }t	        j                         rt	        j                   d
|
||       |\  }|S c c}w c c}	w )Nr  r   r  r   r   r   s   ShuffleDatasetV2rG   rH   r  )r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   r   r   r   r   r3   r6   )r   r[  r  r   r   r   r   r   r<   r=   rB   rA   r:   s                rC   r  r    su   	L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-THx4(((H-&&{GMMB+)).':J:JK.n=,L/=h&0!L#)s?'""$L&';('	.+ Q
 Ur   c
                    t         j                   xs t        j                         }
|
j                  }|j                  r'	 t	        j
                  |
d|	| ||||d|d|d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d	|z        |D cg c]  }t#        j&                  |d       }}|d
}t#        j(                  |d      }|d}t#        j*                  |d      }t-        j.                  d| |||||||||	      \  }}}}|dd }t#        j0                         rjd|j3                  d      d|j5                  d      d|j5                  d      d|j5                  d      f}|j6                  }t#        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||	       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	|
      S # t        j                  $ r Y w xY wc c}w c c}w )ay  TODO: add doc.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    buffer_size: A `Tensor` of type `int64`.
    seed: A `Tensor` of type `int64`.
    seed2: A `Tensor` of type `int64`.
    seed_generator: A `Tensor` of type `resource`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    reshuffle_each_iteration: An optional `bool`. Defaults to `True`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  ShuffleDatasetV3r  r   r   r   Nr  MExpected list for 'output_types' argument to 'shuffle_dataset_v3' Op, not %r.NExpected list for 'output_shapes' argument to 'shuffle_dataset_v3' Op, not %r.Tr   )
r   r[  r   r   r  r   r   r  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   !shuffle_dataset_v3_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r   rv   r1   r2   r3   r   r4   r5   r6   )r   r[  r   r   r  r   r   r  r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                        rC   shuffle_dataset_v3r    s   $ 
			0h..0$#\\
11 ${D~9 .,
H	>g
 n 
L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-T%#%//0HJdeHx4('88-(3$e+9)5*75M%-D:!QX QK'""$(  !;<nll>*Oll?+Zll:&	(F
 ::LL&';('	.a && -
##At,,## 
.
dE>#;#=$D	2 2
 ## 
 Q
 Ur  zraw_ops.ShuffleDatasetV3c                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| ||||g}d|d|d|d|f}t	        j                  d	d
|||
|	      }t	        j                          rt	        j"                  d|||       |\  }|S c c}w c c}w )Nr  r   r  r   Tr  r   r   s   ShuffleDatasetV3rG   rH   r  r  )r   r[  r   r   r  r   r   r  r   r   r   r<   r=   rB   rA   r:   s                   rC   r  r  T  s   	L4-	0
	+-9	:; ; DPPR($$R8P,P	MD%=	1
	+-:	;< < GTT8&&r?;T-T%#%//0HJdeHx4(((H-&&{GMMB+			gmm	4$

 
 
6%)).':J:JK.dE>J,&(@,

& 0!L#)s?'""$L&';('	.7 Q
 Ur  c                 F   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )as  Creates a dataset that skips `count` elements from the `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    count: A `Tensor` of type `int64`.
      A scalar representing the number of elements from the `input_dataset`
      that should be skipped.  If count is -1, skips everything.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  SkipDatasetr   r   r   Nr   GExpected list for 'output_types' argument to 'skip_dataset' Op, not %r.HExpected list for 'output_shapes' argument to 'skip_dataset' Op, not %r.r   r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   skip_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   r  s                    rC   skip_datasetr  w  sA     
			0h..0$#\\11mT=%o}j(Lg n 
L4-	0
	%'3	45 5 DPPR($$R8P,P	MD%=	1
	%'4	56 6 GTT8&&r?;T-THx4('88]%$0 (t5!QX QK'""$cll>:Oll?+Zll:&(F ::L|VW6('	.K && -
##At,,## 
(
\%tO O ## 
 Q
 Ur   zraw_ops.SkipDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w )Nr
  r   r  r   r   r   s   SkipDatasetrG   rH   r	  r   r  s               rC   r  r    Z   	L4-	0
	%'3	45 5 DPPR($$R8P,P	MD%=	1
	%'4	56 6 GTT8&&r?;T-THx4(((H-

 
 
6%',L/=h&^Q|#)s?'""$|VW6('	.) Q
 Ur   ) #TV_SparseTensorSliceDataset_Tvaluesz_atypes.BFloat16z_atypes.Boolz_atypes.Complex128z_atypes.Complex64z_atypes.Float16z_atypes.Float32z_atypes.Float64z_atypes.Float8e4m3b11fnuzz_atypes.Float8e4m3fnz_atypes.Float8e4m3fnuzz_atypes.Float8e5m2z_atypes.Float8e5m2fnuzz_atypes.Halfz_atypes.Int16z_atypes.Int32z_atypes.Int4z_atypes.Int64z_atypes.Int8z_atypes.QInt16z_atypes.QInt32z_atypes.QInt8z_atypes.QUInt16z_atypes.QUInt8z_atypes.Resourcez_atypes.Stringz_atypes.UInt16z_atypes.UInt32z_atypes.UInt4z_atypes.UInt64z_atypes.UInt8z_atypes.Variantindicesvaluesdense_shapec                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| ||      }|S t        j                  d| |||      \  }}}	}
|
dd }t        j                          r7d|	j#                  d      f}|	j$                  }t        j&                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY w)a  Creates a dataset that splits a SparseTensor into elements row-wise.

  Args:
    indices: A `Tensor` of type `int64`.
    values: A `Tensor`.
    dense_shape: A `Tensor` of type `int64`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  SparseTensorSliceDatasetNrb   )r  r  r  r   Tvalues)r   r   r    r!   r   r"   r#   r$   r%   r&   r'   *sparse_tensor_slice_dataset_eager_fallbackr)   r1   r2   r.   r3   _get_attr_typer5   r6   )r  r  r  r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                rC   sparse_tensor_slice_datasetr    sJ    
			0h..0$#\\11($Ngn (88"GF0;$H!QX QK'""$++I67F::L"L&'C('	.) && -
##At,,## 
7
6;Tt= =## 
s0    C D$C??DDD, ,EEz raw_ops.SparseTensorSliceDatasetc                 x   t        j                  |g|g       \  }\  }t        j                  | t        j
                        } t        j                  |t        j
                        }| ||g}d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr  s   SparseTensorSliceDatasetrG   rH   r  )	r.   args_to_matching_eagerr%   r   r   r   r   r3   r6   )	r  r  r  r   r   _attr_TvaluesrB   rA   r:   s	            rC   r  r    s    %<<fXsBO-&""7GMM:'&&{GMMB+6;/,}%&8!$0C"&(' ""$"L&'C('	.rk   c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| ||d|      }|S |d}t        j                  |d      }t        j                   d| ||||      \  }	}	}
}|dd }t        j"                         r7d|
j%                  d      f}|
j&                  }t        j(                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY w)a  Creates a dataset that emits the records from one or more TFRecord files.

  Args:
    filenames: A `Tensor` of type `string`.
      A scalar or vector containing the name(s) of the file(s) to be
      read.
    compression_type: A `Tensor` of type `string`.
      A scalar containing either (i) the empty string (no
      compression), (ii) "ZLIB", or (iii) "GZIP".
    buffer_size: A `Tensor` of type `int64`.
      A scalar representing the number of bytes to buffer. A value of
      0 means no buffering will be performed.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  TFRecordDatasetr   Nr^  r   rW  rc  r[  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'    tf_record_dataset_eager_fallbackr)   r.   rv   r1   r2   r3   r4   r5   r6   rW  rc  r[  r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                 rC   tf_record_datasetr"    st   & 
			0h..0$#\\11y2BZ+g n Hx4('88Y,<'2X $	&!QX
 QK'""$#,,z23F::L<:('	.5 && -
##At,,## 
-
%{X  ## 
0    C. .D5DD54D59E
 
E! E!zraw_ops.TFRecordDatasetc                    |d}t        j                  |d      }t        j                  | t        j
                        } t        j                  |t        j
                        }t        j                  |t        j                        }| ||g}d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr   r   s   TFRecordDatasetrG   rH   r  rb  	rW  rc  r[  r   r   r   rB   rA   r:   s	            rC   r   r   M      Hx4($$Y?)++,<gnnM&&{GMMB+-{;,!&/<#)s?'""$<:('	.rk   byte_offsetsc                    t         j                   xs t        j                         }|j                  }|j                  r 	 t	        j
                  |d|| |||d|	      }|S |d}t        j                  |d      }t        j                   d| |||||      \  }
}
}}|dd }t        j"                         r7d|j%                  d      f}|j&                  }t        j(                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY w)aF  Creates a dataset that emits the records from one or more TFRecord files.

  Args:
    filenames: A `Tensor` of type `string`.
      A scalar or vector containing the name(s) of the file(s) to be
      read.
    compression_type: A `Tensor` of type `string`.
      A scalar containing either (i) the empty string (no
      compression), (ii) "ZLIB", or (iii) "GZIP".
    buffer_size: A `Tensor` of type `int64`.
      A scalar representing the number of bytes to buffer. A value of
      0 means no buffering will be performed.
    byte_offsets: A `Tensor` of type `int64`.
      A scalar or vector containing the number of bytes for each file
      that will be skipped prior to reading.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  TFRecordDatasetV2r   Nr^  r   )rW  rc  r[  r'  r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #tf_record_dataset_v2_eager_fallbackr)   r.   rv   r1   r2   r3   r4   r5   r6   )rW  rc  r[  r'  r   r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s                  rC   tf_record_dataset_v2r+  _  s{   , 
			0h..0$#\\11!44D\:x9g n Hx4('88y.>)4*6"&(!QX QK'""$#,,z23F::L\67<('	.7 && -
##At,,## 
0
%{L$D2 2 ## 
s0    C0 0D7DD76D7;E E$#E$zraw_ops.TFRecordDatasetV2c                    |d}t        j                  |d      }t        j                  | t        j
                        } t        j                  |t        j
                        }t        j                  |t        j                        }t        j                  |t        j                        }| |||g}d|f}t        j                  dd||||      }	t        j                         rt        j                  d|||	       |	\  }	|	S )Nr   r   s   TFRecordDatasetV2rG   rH   r)  rb  )
rW  rc  r[  r'  r   r   r   rB   rA   r:   s
             rC   r*  r*    s    Hx4($$Y?)++,<gnnM&&{GMMB+''gmmD,-{LI,!&11\#)s?'""$\67<('	.rk   c                 F   t         j                   xs t        j                         }|j                  }|j                  r"	 t	        j
                  |d|| |d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| |||||
      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w c c}w )a  Creates a dataset that contains `count` elements from the `input_dataset`.

  Args:
    input_dataset: A `Tensor` of type `variant`.
    count: A `Tensor` of type `int64`.
      A scalar representing the number of elements from the `input_dataset`
      that should be taken. A value of `-1` indicates that all of `input_dataset`
      is taken.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  TakeDatasetr   r   r   Nr   GExpected list for 'output_types' argument to 'take_dataset' Op, not %r.HExpected list for 'output_shapes' argument to 'take_dataset' Op, not %r.r   r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   take_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   r  s                    rC   take_datasetr2    sA   " 
			0h..0$#\\11mT=%o}j(Lg n 
L4-	0
	%'3	45 5 DPPR($$R8P,P	MD%=	1
	%'4	56 6 GTT8&&r?;T-THx4('88]%$0 (t5!QX QK'""$cll>:Oll?+Zll:&(F ::L|VW6('	.K && -
##At,,## 
(
\%tO O ## 
 Q
 Ur   zraw_ops.TakeDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }| |g}	d|d|d|f}
t	        j                  dd|	|
||	      }t	        j                         rt	        j                  d
|	|
|       |\  }|S c c}w c c}w )Nr/  r   r0  r   r   r   s   TakeDatasetrG   rH   r.  r   r  s               rC   r1  r1    r  r   c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}|d}t#        j&                  |d      }t)        j*                  d| |||      \  }	}	}
}|dd }t#        j,                         rYd	|
j/                  d	      d|
j/                  d      d|
j/                  d      f}|
j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y iw xY wc c}w )
ax  Creates a dataset that emits `components` as a tuple of tensors once.

  Args:
    components: A list of `Tensor` objects.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  TensorDatasetr   r   NrQ  JExpected list for 'output_shapes' argument to 'tensor_dataset' Op, not %r.r   )
componentsr   r   r   rU  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   tensor_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r0   rv   r1   r2   r3   r4   r5   r6   )r7  r   r   r   r8   r9   r:   r;   r=   r>   r?   r@   rA   rB   s                 rC   tensor_datasetr9    s    
			0h..0$#\\11otZz8-g n 
MD%=	1
	')6	78 8 GTT8&&r?;T-THx4('88Jm"*7!QX QK'""$s||O<oll?+Zll:&(F ::Lvw8('	.? && -
##At,,## 
*
MH  ## 
 Us6    E GF)FFF!F1 1GGzraw_ops.TensorDatasetc                    t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}|d}t	        j                  |d      }t	        j                  | |      \  }} t        |       }d|d|d|f}t	        j                  dd||||      }	t	        j                         rt	        j                  d	|||	       |	\  }	|	S c c}w )
Nr6  r   r   r   rU  s   TensorDatasetrG   rH   r5  )r*   r+   r,   r-   r.   r0   rv   rL  r   r3   r6   )
r7  r   r   r   r   r=   rY  rB   rA   r:   s
             rC   r8  r8  G  s    	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4($,$K$KJX[$\!zj!,0/X'&-q#)s?'""$vw8('	. Us   Cis_filesc                 \   t         j                   xs t        j                         }|j                  }|j                  r#	 t	        j
                  |d|| d|d|d|d|      }|S t        |t        t        f      st!        d|z        |D 
cg c]  }
t#        j$                  |
d       }}
|d	}t#        j&                  |d      }|d
}t#        j(                  |d      }|d	}t#        j&                  |d      }t+        j,                  d| |||||      \  }}}}|dd }t#        j.                         r{d|j1                  d      d|j1                  d      d|j3                  d      d|j1                  d      d|j3                  d      f
}|j4                  }t#        j6                  d|||       |\  }|S # t        j                  $ r }	t        j                  |	|       Y d}	~	nd}	~	wt        j                  $ r Y nw xY w	 t        | ||||||      S # t        j                  $ r Y w xY wc c}
w )a  Creates a dataset that emits each dim-0 slice of `components` once.

  Args:
    components: A list of `Tensor` objects.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    is_files: An optional `bool`. Defaults to `False`.
    metadata: An optional `string`. Defaults to `""`.
    replicate_on_split: An optional `bool`. Defaults to `False`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  TensorSliceDatasetr   r;  r   r  N)r   r;  r   r  r   r   PExpected list for 'output_shapes' argument to 'tensor_slice_dataset' Op, not %r.Fr   )r7  r   r;  r   r  r   rU  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #tensor_slice_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r0   r   rv   r1   r2   r3   r4   r   r5   r6   )r7  r   r;  r   r  r   r8   r9   r:   r;   r=   r>   r?   r@   rA   rB   s                   rC   tensor_slice_datasetr@  ]  sU    
			0h..0$#\\	11"D*oz8Z02g n 
MD%=	1
	-/<	=> > GTT8&&r?;T-TH*5(Hx4())*<>RS'88,9H'/1C#')!QX QK'""$s||O<oll?+Z  ,jll:&(<  !56	8F
 ::LlFG=('	.W && -
##At,,## 
0
MH0B  ## 
 Us6    !F2 
H)2G9G  G98G9=H H&%H&zraw_ops.TensorSliceDatasetc           
      0   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}|d}t	        j                  |d      }|d}t	        j                  |d      }|d}t	        j                  |d      }t	        j                  | |      \  }} t        |       }	d|d|d|d|d|f
}
t	        j                  d	d
|	|
||      }t	        j                         rt	        j                  d|	|
|       |\  }|S c c}w )Nr>  r   Fr;  r   r   r  rU  s   TensorSliceDatasetrG   rH   r=  )r*   r+   r,   r-   r.   r0   r   rv   rL  r   r3   r6   )r7  r   r;  r   r  r   r   r=   rY  rB   rA   r:   s               rC   r?  r?    sA   	MD%=	1
	-/<	=> > GTT8&&r?;T-TH*5(Hx4())*<>RS$,$K$KJX[$\!zj!,0/Xz8*,& 2Al#)s?'""$lFG=('	.+ Us   Dc           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| ||d|      }|S |d}t        j                  |d      }t        j                   d| ||||      \  }	}	}
}|dd }t        j"                         r7d|
j%                  d      f}|
j&                  }t        j(                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY w)ad  Creates a dataset that emits the lines of one or more text files.

  Args:
    filenames: A `Tensor` of type `string`.
      A scalar or a vector containing the name(s) of the file(s) to be
      read.
    compression_type: A `Tensor` of type `string`.
      A scalar containing either (i) the empty string (no
      compression), (ii) "ZLIB", or (iii) "GZIP".
    buffer_size: A `Tensor` of type `int64`.
      A scalar containing the number of bytes to buffer.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  TextLineDatasetr   Nr^  r   r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'    text_line_dataset_eager_fallbackr)   r.   rv   r1   r2   r3   r4   r5   r6   r!  s                 rC   text_line_datasetrE    st   $ 
			0h..0$#\\11y2BZ+g n Hx4('88Y,<'2X $	&!QX
 QK'""$#,,z23F::L<:('	.5 && -
##At,,## 
-
%{X  ## 
r#  zraw_ops.TextLineDatasetc                    |d}t        j                  |d      }t        j                  | t        j
                        } t        j                  |t        j
                        }t        j                  |t        j                        }| ||g}d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr   r   s   TextLineDatasetrG   rH   rC  rb  r%  s	            rC   rD  rD    r&  rk   input_handlec                 \   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d||       }|S t        j                  d| |      \  }}}}|dd }t        j                          r&d}	|j"                  }
t        j$                  d|
|	|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||      S # t        j                  $ r Y w xY w)TODO: add doc.

  Args:
    input_handle: A `Tensor` of type `variant`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  UnwrapDatasetVariantNrb   rG  r   rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   %unwrap_dataset_variant_eager_fallbackr)   r1   r2   r.   r3   r5   r6   rG  r   r8   r9   r:   r;   r>   r?   r@   rA   rB   s              rC   unwrap_dataset_variantrN    s)    
			0h..0$#\\11$dL:gn (88\F!QXQK'""$F::Lfg?('	.' && -
##At,,## 
2
Tt- -## 
r   zraw_ops.UnwrapDatasetVariantc                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns   UnwrapDatasetVariantrG   rH   rJ  r   rG  r   r   rB   rA   r:   s         rC   rL  rL  5  sq    ''gooF,,&4a#)s?'""$fg?('	.rk   sizeshiftstridec	                 X   t         j                   xs t        j                         }	|	j                  }
|
j                  r%	 t	        j
                  |	d|| ||||d|d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D cg c]  }t#        j&                  |d       }}|d	}t#        j(                  |d      }t+        j,                  d| ||||||||

      \  }}}}|dd }t#        j.                         rYd|j1                  d      d|j1                  d      d|j1                  d      f}|j2                  }t#        j4                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||||||	
      S # t        j                  $ r Y w xY wc c}w c c}w )a/    Combines (nests of) input elements into a dataset of (nests of) windows.

  A "window" is a finite dataset of flat elements of size `size` (or possibly
  fewer if there are not enough input elements to fill the window and
  `drop_remainder` evaluates to false).

  The `shift` argument determines the number of input elements by which
  the window moves on each iteration.  The first element in the `k`th window
  will be element

  ```
  1 + (k-1) * shift
  ```

  of the input dataset. In particular, the first element of the first window
  will always be the first element of the input dataset.  

  If the `stride` parameter is greater than 1, then each window will skip
  `(stride - 1)` input elements between each element that appears in the
  window. Output windows will still contain `size` elements regardless of
  the value of `stride`.

  The `stride` argument determines the stride of the input elements, and the
  `shift` argument determines the shift of the window.

  For example, letting `{...}` to represent a Dataset:

  - `tf.data.Dataset.range(7).window(2)` produces
    `{{0, 1}, {2, 3}, {4, 5}, {6}}`
  - `tf.data.Dataset.range(7).window(3, 2, 1, True)` produces
    `{{0, 1, 2}, {2, 3, 4}, {4, 5, 6}}`
  - `tf.data.Dataset.range(7).window(3, 1, 2, True)` produces
    `{{0, 2, 4}, {1, 3, 5}, {2, 4, 6}}`

  Note that when the `window` transformation is applied to a dataset of
  nested elements, it produces a dataset of nested windows.

  For example:

  - `tf.data.Dataset.from_tensor_slices((range(4), range(4))).window(2)`
    produces `{({0, 1}, {0, 1}), ({2, 3}, {2, 3})}`
  - `tf.data.Dataset.from_tensor_slices({"a": range(4)}).window(2)`
    produces `{{"a": {0, 1}}, {"a": {2, 3}}}`

  Args:
    input_dataset: A `Tensor` of type `variant`.
    size: A `Tensor` of type `int64`.
      An integer scalar, representing the number of elements
      of the input dataset to combine into a window. Must be positive.
    shift: A `Tensor` of type `int64`.
      An integer scalar, representing the number of input elements
      by which the window moves in each iteration.  Defaults to `size`.
      Must be positive.
    stride: A `Tensor` of type `int64`.
      An integer scalar, representing the stride of the input elements
      in the sliding window. Must be positive. The default value of 1 means
      "retain every input element".
    drop_remainder: A `Tensor` of type `bool`.
      A Boolean scalar, representing whether the last window should be
      dropped if its size is smaller than `window_size`.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  WindowDatasetr   r   r   Nr   IExpected list for 'output_types' argument to 'window_dataset' Op, not %r.JExpected list for 'output_shapes' argument to 'window_dataset' Op, not %r.r   )	r   rQ  rR  rS  r   r   r   r   r   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   window_dataset_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   rv   r1   r2   r3   r4   r5   r6   )r   rQ  rR  rS  r   r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                       rC   window_datasetrY  B  sU   J 
			0h..0$#\\	11ot]D%oz8-g n 
L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4('88}4u &~&2'4x"$!QX QK'""$cll>:Oll?+Zll:&(F ::Lvw8('	.Q && -
##At,,## 
*
ufn#=$D2 2 ## 
 Q
 Us<    #F( H"H'(G/;GG/.G/3H HHzraw_ops.WindowDatasetc
                    t        |t        t        f      st        d|z        |D 
cg c]  }
t	        j
                  |
d       }}
t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}|d}t	        j                  |d      }t        j                  | t        j                        } t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |t        j                        }| ||||g}d|d|d|f}t	        j                  dd|||	|	      }t	        j                         rt	        j                   d
|||       |\  }|S c c}
w c c}w )NrV  r   rW  r   r   r   s   WindowDatasetrG   rH   rU  )r*   r+   r,   r-   r.   r/   r0   rv   r%   r   r   r   r   r   r   r3   r6   )r   rQ  rR  rS  r   r   r   r   r   r   r<   r=   rB   rA   r:   s                  rC   rX  rX    s   	L4-	0
	')5	67 7 DPPR($$R8P,P	MD%=	1
	')6	78 8 GTT8&&r?;T-THx4(((H-			gmm	4$

 
 
6%!!&'--8&)).',,G.ufnE,L/=h&-q#)s?'""$vw8('	./ Q
 Us   F90F>c           
         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| d|d|      }|S t        |t        t        f      st!        d|z        |D cg c]  }t#        j$                  |d       }}t        |t        t        f      st!        d|z        |D 	cg c]  }	t#        j&                  |	d       }}	t)        j*                  d| |||      \  }
}
}}|dd }t#        j,                         rYd|j/                  d      d|j/                  d      d	|j/                  d	      f}|j0                  }t#        j2                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||||      S # t        j                  $ r Y w xY wc c}w c c}	w )
aG  TODO: add doc.

  Args:
    inputs: A list of `Tensor` objects.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  WindowOpr   r   Nr   DExpected list for 'output_types' argument to 'window_op' Op, not %r.EExpected list for 'output_shapes' argument to 'window_op' Op, not %r.)r5   r   r   r   Tinputs)r   r   r    r!   r   r"   r#   r$   r%   r&   r'   window_op_eager_fallbackr)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   )r5   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                  rC   	window_opra    s    
			0h..0$#\\11j$(g n 
L4-	0
	"$0	12 2 DPPR($$R8P,P	MD%=	1
	"$1	23 3 GTT8&&r?;T-T'886"/d<!QX QK'""$cll>:Oll?+Yll9%'F ::LL&'3('	.C && -
##At,,## 
%
|=  ## 
 Q
 Us<    F G8G=G
F11G
	G
G G54G5zraw_ops.WindowOpc                 $   t        |t        t        f      st        d|z        |D cg c]  }t	        j
                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t	        j                  |d       }}t	        j                  | |      \  }} t        |       }d|d|d|f}	t	        j                  dd||	||      }
t	        j                         rt	        j                  d	||	|
       |
\  }
|
S c c}w c c}w )
Nr]  r   r^  r   r_  s   WindowOprG   rH   r\  )r*   r+   r,   r-   r.   r/   r0   rL  r   r3   r6   )r5   r   r   r   r   r<   r=   _attr_TinputsrB   rA   r:   s              rC   r`  r`     s'   	L4-	0
	"$0	12 2 DPPR($$R8P,P	MD%=	1
	"$1	23 3 GTT8&&r?;T-T"AA&#N-f,L/=]&[!L#)s?'""$L&'3('	.! Q
 Us   D0Dc                 \   t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d||       }|S t        j                  d| |      \  }}}}|dd }t        j                          r&d}	|j"                  }
t        j$                  d|
|	|       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | ||      S # t        j                  $ r Y w xY w)rI  WrapDatasetVariantNrb   rK  rd   )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   #wrap_dataset_variant_eager_fallbackr)   r1   r2   r.   r3   r5   r6   rM  s              rC   wrap_dataset_variantrg  .   s)    
			0h..0$#\\11"D,8gn (88<dD!QXQK'""$F::LlFG=('	.' && -
##At,,## 
0
Tt- -## 
r   zraw_ops.WrapDatasetVariantc                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns   WrapDatasetVariantrG   rH   re  r   rP  s         rC   rf  rf  W   sq    ''gooF,,&2Al#)s?'""$lFG=('	.rk   input_datasetsc                    t         j                   xs t        j                         }|j                  }|j                  r!	 t	        j
                  |d|| d|d|d|
      }|S t        | t        t        f      st!        d| z        t#        |       }	t        |t        t        f      st!        d|z        |D 
cg c]  }
t%        j&                  |
d       }}
t        |t        t        f      st!        d	|z        |D cg c]  }t%        j(                  |d       }}|d
}t%        j*                  |d      }t-        j.                  d| ||||      \  }}}}|dd }t%        j0                         rjd|j3                  d      d|j3                  d      d|j5                  d      d|j3                  d      f}|j6                  }t%        j8                  d|||       |\  }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y w xY wc c}
w c c}w )a3  Creates a dataset that zips together `input_datasets`.

  The elements of the resulting dataset are created by zipping corresponding
  elements from each of the input datasets.

  The size of the resulting dataset will match the size of the smallest input
  dataset, and no error will be raised if input datasets have different sizes.

  Args:
    input_datasets: A list of at least 1 `Tensor` objects with type `variant`.
      List of `N` variant Tensors representing datasets to be zipped together.
    output_types: A list of `tf.DTypes` that has length `>= 1`.
    output_shapes: A list of shapes (each a `tf.TensorShape` or list of `ints`) that has length `>= 1`.
    metadata: An optional `string`. Defaults to `""`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `variant`.
  
ZipDatasetr   r   r   Nr   HExpected list for 'input_datasets' argument to 'zip_dataset' Op, not %r.FExpected list for 'output_types' argument to 'zip_dataset' Op, not %r.GExpected list for 'output_shapes' argument to 'zip_dataset' Op, not %r.r   )ri  r   r   r   r   r  )r   r   r    r!   r   r"   r#   r$   r%   r&   r'   zip_dataset_eager_fallbackr)   r*   r+   r,   r-   r   r.   r/   r0   rv   r1   r2   r3   r4   r   r5   r6   )ri  r   r   r   r   r8   r9   r:   r;   r  r<   r=   r>   r?   r@   rA   rB   s                    rC   zip_datasetrp  d   s~   ( 
			0h..0$#\\11lD..o}j(Lg n 
NT5M	2
	$&4	56 6 '	L4-	0
	$&2	34 4 DPPR($$R8P,P	MD%=	1
	$&3	45 5 GTT8&&r?;T-THx4('88^#/}'d4!QX QK'""$cll>:Oll?+S#2C2CC2H#,,z24F ::LlFG5('	.U && -
##At,,## 
'
|%tO O ## 
 Q
 Us<    G  7I>I H'3HH'&H'+H< <IIzraw_ops.ZipDatasetc                    t        | t        t        f      st        d| z        t	        |       }t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}t        |t        t        f      st        d|z        |D cg c]  }t        j                  |d       }}|d}t        j                  |d      }t        j                  | t        j                        } t        |       }	d|d|d|d|f}
t        j                  d	d
|	|
||      }t        j                         rt        j                  d|	|
|       |\  }|S c c}w c c}w )Nrl  rm  r   rn  r   r   r   r  s
   ZipDatasetrG   rH   rk  )r*   r+   r,   r-   r   r.   r/   r0   rv   r%   r  r   r   r   r3   r6   )ri  r   r   r   r   r   r  r<   r=   rB   rA   r:   s               rC   ro  ro     s|   	NT5M	2
	$&4	56 6 '	L4-	0
	$&2	34 4 DPPR($$R8P,P	MD%=	1
	$&3	45 5 GTT8&&r?;T-THx4(++NGOOL.n%,L/=#	:x!&]Al#)s?'""$lFG5('	.' Q
 Us   EE#)N)r   N)Fr   N)r   FN)FN)TFFr   N)rG   N)r   r   r   N)r   r   N)Frg  r   N)rg  r   N)Trg  FFr   N)r   Tr   r   N)r   FN)Tr   N)r   N)Fr   FN(D  __doc__collectionstensorflow.pythonr   tensorflow.python.eagerr   r   r   r#   r   r.   tensorflow.python.frameworkr   r   tensorflow.security.fuzzing.pyr   _atypesr	   _op_def_registryr
   r%   r   r1   "tensorflow.python.util.deprecationr   tensorflow.python.utilr   	_dispatch tensorflow.python.util.tf_exportr   typingr   r   r   typing_extensionsr   ResourcerD   	to_raw_opr   r(   
namedtuplerS   rV   rM   rU   r^   rZ   r]   re   rh   r`   rf   rt   rx   rl   ru   r   r|   r   r   Int64r   r   r   r   Boolr   r   r   Variantstrr   r   r   r   r   r   r   Stringr   r   r   r   r   r   r   r   r   r   r   r   UInt64r   r   r   r   r   r   intr   r   r   r   r   r   r  r   r  r  r
  r  r  r  r  r  r  r  r!  r  r   r(  r&  r'  r.  r,  r-  r5  r3  r4  r<  r8  r;  rH  rA  rG  rU  rQ  rT  r`  r]  r_  rg  re  rf  rp  rj  ro  r  rs  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  Int32r  r  r  r!  r  r   r&  r$  r%  r.  r)  r-  r9  r2  r8  rD  r?  rC  rL  rH  rK  rW  rP  rV  r_  r[  r^  ri  rd  rh  rp  rl  ro  rx  rt  rw  r  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r"  r  r   r+  r)  r*  r2  r.  r1  r9  r5  r8  r@  r=  r?  rE  rC  rD  rN  rJ  rL  rY  rU  rX  ra  r\  r`  rg  re  rf  rp  rk  ro  rd   rk   rC   <module>r     sd  
  6 7 1 7 9 F K 3 I C 8 6 % % '3)CQXQaQaLaBb 3j ;I9:>4>>J\;]^ QZ[^`g`p`p[pQq * 4[33y 
7r ?i =>~t~~Nc?de ,3YsT[TdTdOdEe 3j ?i =>~t~~Nc?de T]^acjcscs^sTt * 5k44y 
'R Ay!?@PfAgh 	 '=k&<&<"y' #
@D  Qy)OPQ_QUQ_Q_`  RA   B :<[dehjqjzjzez[{ <| "U+S!TUcUYUcUc  eG  VH  "I jstw  zA  zJ  zJ  uJ  kK 8 '=k&<&<"y' #
))C4F*G )PYZ]_f_l_lZlPm )V  Qy)OPQ_QUQ_Q_`  RA   B 3CU9V _hilnun{n{i{_|  !7 6 6y! 
+9S'---?#@ +SVX_XeXeSeIf +s|  ~A  CJ  CO  CO  ~O  tP +Z E#CD^T^^TlEmn )C<N2O XabegngtgtbtXu   CL  MP  RY  R^  R^  M^  C_  >3+?!@ >iX[]d]j]jXjNk >  TW >  js  tw  y@  yH  yH  tH  jI >@ 1y/01NO	#w:N0O ]fgjlslylygy]z   dg   w@  AD  FM  FU  FU  AU  wV 8IIc7??.B$C IQZ[^`g`m`m[mQn I  AJ  KN  PW  P\  P\  K\  A] I  JN I  _b I  u~  B  DK  DS  DS  S  uT IV 534^T^^DT5UV9S'//=Q3R `ijmovo|o|j|`}   PY  Z]  _f  _k  _k  Zk  Pl   Z^   jm   }F  GJ  LS  L[  L[  G[  }\ @C3+?!@ CIVY[b[i[iViLj C  SV C  ir  sv  x  xG  xG  sG  iH CJ 1y/01NO	#w:N0O [dehjqjxjxex[y   cf   v  @C  EL  ET  ET  @T  vU 8>Ic7??.B$C >yY\^e^l^lYlOm >v  AD  FM  FV  FV  AV  wW >  B >  U^  _b  dk  ds  ds  _s  Ut >@ 534^T^^DT5UV9S'//=Q3R ^ghkmtm{m{h{^|   FO  PS  U\  Ue  Ue  Pe  Ff   OR   bk  lo  qx  q@  q@  l@  bA :>ygoo1E'F >YbcfhohwhwcwYx >  ad >  w@  AD  FM  FU  FU  AU  wV >@ =Y;<^T^^L_=`a iW__@T6U hqruw~  xG  xG  sG  iH   qt   DM  NQ  SZ  Sb  Sb  Nb  Dc 8/ygoo1E'F /\_ /r{|  BI  BO  BO  }O  sP /b =Y;<^T^^L_=`a iW__@T6U lo   @I  JM  OV  O\  O\  J\  @]  'ygoo1E'F 'V_`celeses`sVt 'R =Y;<^T^^L_=`a 
iW__@T6U 
enort{  uC  uC  pC  fD 
 Y[pu  UZ  ae CIc7??.B$C Cko C  PT C  js  tw  y@  yG  yG  tG  jH CJ 534^T^^DT5UV9S'//=Q3R x|   X\   lu  vy  {B  {I  {I  vI  lJ 69ygoo1E'F 9^a 9  ~B 9  Xa  be  gn  gu  gu  bu  Xv 9v 9978H[9\] iW__@T6U nq   MQ   aj  kn  pw  p~  p~  k~  a (<ygoo1E'F <nq <| E#CD^T^^TmEno iW__@T6U   B 6Ic7+;+;&;< yQTV]VeVeQeGf > 534^T^^O5TU9S':J:J5J+K V_`celetet`tVu 	#w/?/?*? @ 9UXZaZiZiUiKj > ;I9:>4>>J];^_ yg>N>N9N/O ZcdgipixixdxZy )	#wGWGWBW8X )enostwox  {B  {K  {K  pK  fL )  W`  ad  fm  fu  fu  au  Wv )T KI&IJ>4>>ZvKwx yQTV]VfVfQfGg t}  C  DG  H  JQ  JZ  JZ  Z  u[   fo  ps  u|  uD  uD  pD  fE $38H8H3H)I T]^acjcrcr^rTs @ KI&IJ>4>>ZvKwx 		#wGWGWBW8X 	clmpry  sB  sB  nB  dC 	)C1A1A,A"B YWZ\c\k\kWkMl > ?i =>~t~~Nc?de 3@P@P;P1Q \efikrkzkzfz\{ ")C9I9I4I*J "XabegngvgvbvXw "F ?i =>~t~~Nb?cd 3HXHXCX9Y gpqtv}  wF  wF  rF  hG #YsG4D4D/D%E #J 9978HZ9[\ 	Ic7CSCS>S4T 	#yg6F6F1F'G #J =Y;<^T^^L`=ab 	iWEUEU@U6V 	6Ic7??>R4S 6  AJ  KN  PW  P_  P_  K_  A` 6p  Qy)OPQ_QUQ_Q_  aA  RB   C 9SRYRaRaMaCb   PY  Z]  _f  _n  _n  Zn  Po 0K)C,@"A K  FI K  \e  fi  kr  kz  kz  fz  \{ KZ 3	12>4>>.3QR3;O1P   VY   ir  sv  x  xG  xG  sG  iH :>Ic7??.B$C >sw >  NW  X[  ]d  ]l  ]l  Xl  Nm >@ 7)56~t~~FV7WX9S'//=Q3R   DH   Xa  be  gn  gv  gv  bv  Xw 6;9S'..5H+I ;YbcfhohuhucuYv ;  GP  QT  V]  Vc  Vc  Qc  Gd ;  t}  ~A  CJ  CP  CP  ~P  tQ ;  `i  jm  ov  o|  o|  j|  `} ;  HK ;  ^g  hk  mt  m|  m|  h|  ^} ;z I9%GHXsItu )CDW:X hqruw~  xE  xE  sE  iF   V_  `c  el  er  er  `r  Vs   CL  MP  RY  R_  R_  M_  C`   ox  y|  ~E  ~K  ~K  yK  oL   X[   kt  ux  zA  zI  zI  uI  kJ *6iW^^8K.L 6\efikrkxkxfx\y 6  JS  TW  Y`  Yf  Yf  Tf  Jg 6  w@  AD  FM  FS  FS  AS  wT 6  cl  mp  ry  r  r  m  c@ 6  T]  ^a  cj  cq  cq  ^q  Tr 6  }@ 6  S\  ]`  bi  bq  bq  ]q  Sr 6p MY'KL^T^^\zM{| YsGNNGZ=[ ktux  {B  {H  {H  vH  lI   Yb  cf  ho  hu  hu  cu  Yv   FO  PS  U\  Ub  Ub  Pb  Fc   r{  |  AH  AN  AN  |N  rO   cl  mp  ry  r@  r@  m@  cA   MP   `i  jm  ov  o~  o~  j~  ` ,HIc7??.B$C H  @C H  V_  `c  el  et  et  `t  Vu HT 534^T^^DT5UV9S'//=Q3R   PS   cl  mp  ry  rA  rA  mA  cB 8O  hk O  ~G  HK  MT  M\  M\  H\  ~] Ob 9978HY9Z[   x{   KT  UX  Za  Zi  Zi  Ui  Kj @%ygoo)=> %iX[]d]k]kXkNl %N -Y+,^T^^K-HI

iW__8L.M 
]fgjlslzlzgz]{ 
OiW__0D&E Ofopsu|  vC  vC  qC  gD O  T]  ^a  cj  cp  cp  ^p  Tq O  \_ O  r{  |  AH  AP  AP  |P  rQ Ob ;I9:>4>>J\;]^ YsGOO?S5T u~  @C  EL  ER  ER  @R  vS   cl  mp  ry  r  r  m  c@   lo   H  IL  NU  N]  N]  I]  ^ <<# <# <ZcdgipiyiydyZz <| )9'()AB  irsvx  yI  yI  tI  jJ 2 ]_npw{ >ygnn9L/M >  AJ  KN  PW  P`  P`  K`  Aa >@ I9%GHXsItu iW^^H[>\   JS  TW  Y`  Yi  Yi  Ti  Jj 8 `bqsz~ 9)C<O2P 9  DM  NQ  SZ  Sc  Sc  Nc  Dd 9v MY'KL^T^^\zM{| 3PWP^P^K^A_   MV  WZ  \c  \l  \l  Wl  Mm 85	#w/?/?*? @ 5n 7)56~t~~FW7XYyg>N>N9N/O .5Ic7;K;K6K,L 5  zC  DG  IP  IX  IX  DX  zY 5n KI&IJ>4>>ZwKxy 9S'JZJZEZ;[   IR  SV  X_  Xg  Xg  Sg  Ih 0:YsG4D4D/D%E :x ?i =>~t~~Nd?ef Ic7CSCS>S4T .%yg>N>N9N/O %_hilnun|n|i|_} %N E#CD^T^^TmEno iWM]M]H]>^ nwx{  ~E  ~L  ~L  yL  oM <S <S <]fgjlsl|l|g|]} <| -Y+,^T^^K-HI
C C luvy  |C  |L  |L  wL  mM 2!9S'//%9: !iPSU\UeUePeFf !D 1y/01NO)C4H*I U^_bdkdtdt_tUu Yygoo)=> Y  KO Y  ko Y  IM Y  ^a Y  t}  ~A  CJ  CR  CR  ~R  tS Yv -Y+,^T^^K-HI
$iW__8L.M $  [_ $  w{ $  PT $  `c $  s|  }@  BI  BQ  BQ  }Q  sR $NScf Sj )9'(	)BCsv :K3+?!@ Kil K{~ K  NQ K  cl  mp  ry  rA  rA  mA  cB KZ 1y/01NO	#w:N0O y|   KN   \_   ox  y|  ~E  ~M  ~M  yM  oN BJ J Jpyz}  @G  @P  @P  {P  qQ JX ?i =>~t~~Nc?de s s   @I  JM  OV  O_  O_  J_  @` < jl{}  EI =Ic7>>FY<Z =  NW  X[  ]d  ]m  ]m  Xm  Nn =~ '_i0]&^_m_c_m_m  oW  `X  'Y #9UXZaZhZhUhKi   W`  ad  fm  fv  fv  av  Ww 8BYsT[TdTdOdEe Br{|  BI  BO  BO  }O  sP B  bk  lo  qx  q~  q~  l~  b BH '_i0]&^_m_c_m_m  oX  `Y  'Z #T]^acjcscs^sTt   BK  LO  QX  Q^  Q^  L^  B_   qz  {~  @G  @M  @M  {M  qN 2,	#w2F(G ,`ijmovooj  aA ,  T]  ^a  cj  cp  cp  ^p  Tq ,  AJ  KN  PW  P]  P]  K]  A^ ,\ G)$EF~t~~VpGqr ygooAU7V oxy|  F  O  O  zO  pP   cl  mp  ry  r  r  m  c@   PY  Z]  _f  _l  _l  Zl  Pm  ')CQXQaQaLaBb 'r{|  BI  BP  BP  }P  sQ 'R %[I.Y$Z[i[_[i[i  kQ  \R  %S !QZ[^`g`p`p[pQq   BK  LO  QX  Q_  Q_  L_  B` Wc Wbe W  yB  CF  HO  HX  HX  CX  yY Wr 7)56~t~~FW7XY^a ps   DM  NQ  SZ  Sc  Sc  Nc  Dd < gi  pt HIc7??.B$C HT]^acjcqcq^qTr H  yB  CF  HO  HW  HW  CW  yX HT 7)56~t~~FV7WX9S'//=Q3R clmpry  sA  sA  nA  dB   EN  OR  T[  Tc  Tc  Oc  Ed @ ac  jn Pygoo1E'F P_hilnun|n|i|_} P  Xa  be  gn  gu  gu  bu  Xv P  OX  Y\  ^e  ^l  ^l  Yl  Om P  s|  }@  BI  BQ  BQ  }Q  sR Pd ;I9:>4>>J];^_ iW__@T6U nwx{  ~E  ~L  ~L  yL  oM   gp  qt  v}  vD  vD  qD  gE   ^g  hk  mt  m{  m{  h{  ^|   H  IL  NU  N]  N]  I]  ^ DC9S'//-A#B CX[ C  DG C  Zc  dg  ip  ix  ix  dx  Zy CJ 534^T^^O5TU)C<P2Q gj   TW   gp  qt  v}  vE  vE  qE  gF 8H	#w2F(G HU^_bdkdqdq_qUr H  DM  NR  SV  NW  Y`  Yf  Yf  Nf  Dg H  QT H  gp  qt  v}  vE  vE  qE  gF HT =Y;<^T^^L`=ab ygooAU7V dmnqsz  tA  tA  oA  eB   S\  ]a  be  ]f  ho  hu  hu  ]u  Sv   ad   t}  ~A  CJ  CR  CR  ~R  tS <S9S'//5I+J SXabegngtgtbtXu S  GP  QU  VY  QZ  \c  \i  \i  Qi  Gj S  LU  VY  [b  [g  [g  Vg  Lh S  GK S  \_ S  r{  |  AH  AP  AP  |P  rQ Sj Ay!?@PgAhi  )CDX:Y  gpqtv}  wD  wD  rD  hE    V_  `d  eh  `i  kr  kx  kx  `x  Vy    [d  eh  jq  jv  jv  ev  [w    W[    gj    zC  DG  IP  IX  IX  DX  zY  FQ)C4H*I QW`adfmfsfsasWt Q  KT  UX  Za  Zg  Zg  Ug  Kh Q  zC  DG  IP  IU  IU  DU  zV Q  CG Q  ]` Q  ux Q  KT  UX  Za  Zi  Zi  Ui  Kj Qf Ay!?@PfAgh "3CW9X "fopsu|  vC  vC  qC  gD "  Zc  dg  ip  iv  iv  dv  Zw "  IR  SV  X_  Xd  Xd  Sd  Ie "  SW "  hk "  wz "  JS  TW  Y`  Yh  Yh  Th  Ji "J`9S'//5I+J `qz{~  AH  AN  AN  |N  rO `  GJ `  _b `  u~  B  DK  DS  DS  S  uT `D C	"AB>4>>RiCjk )CDX:Y   AJ  KN  PW  P]  P]  K]  A^   WZ   fi   yB  CF  HO  HW  HW  CW  yX Bk)C<P2Q kr{|  BI  BO  BO  }O  sP k  `i  jm  ov  o|  o|  j|  `} k  S\  ]`  bi  bo  bo  ]o  Sp k  Y] k  nq k  DM  NQ  SZ  Sb  Sb  Nb  Dc kZ Oi(MN~t~~^|O}~ !3PWP_P_K_A` !  BK  LO  QX  Q^  Q^  L^  B_ !  ox  y|  ~E  ~K  ~K  yK  oL !  bk  lo  qx  q~  q~  l~  b !  im !  y| !  LU  VY  [b  [j  [j  Vj  Lk !Hq)C<P2Q qr{|  BI  BO  BO  }O  sP q  `i  jm  ov  o|  o|  j|  `} q  S\  ]`  bi  bo  bo  ]o  Sp q  `c q  x{ q  NW  X[  ]d  ]l  ]l  Xl  Nm qf Oi(MN~t~~^|O}~ !3PWP_P_K_A` !  BK  LO  QX  Q^  Q^  L^  B_ !  ox  y|  ~E  ~K  ~K  yK  oL !  bk  lo  qx  q~  q~  l~  b !  ps !  B !  R[  \_  ah  ap  ap  \p  Rq !Hz)C<P2Q zr{|  BI  BO  BO  }O  sP z  `i  jm  ov  o|  o|  j|  `} z  W`  ad  fm  fs  fs  as  Wt z  OX  Y\  ^e  ^k  ^k  Yk  Ol z  BK  LO  QX  Q^  Q^  L^  B_ z  OR z  gj z  }F  GJ  LS  L[  L[  G[  }\ zx Oi(MN~t~~^|O}~ #3PWP_P_K_A` #  BK  LO  QX  Q^  Q^  L^  B_ #  ox  y|  ~E  ~K  ~K  yK  oL #  fo  ps  u|  uB  uB  pB  fC #  ^g  hk  mt  mz  mz  hz  ^{ #  QZ  [^  `g  `m  `m  [m  Qn #  _b #  nq #  AJ  KN  PW  P_  P_  K_  A` #L_	#w2F(G _nwx{  ~E  ~K  ~K  yK  oL _  GK _  Y] _  z~ _  OR _  en  or  t{  tC  tC  oC  eD _B =Y;<^T^^L`=ab %ygooAU7V %  ~G  HK  MT  MZ  MZ  HZ  ~[ %  W[ %  ei %  AE %  QT %  dm  nq  sz  sB  sB  nB  dC %Pj9S'//5I+J jqz{~  AH  AN  AN  |N  rO j  JN j  cf j  GK j  lp j  AD j  W`  ad  fm  fu  fu  au  Wv jX Ay!?@PgAhi ))CDX:Y )  AJ  KN  PW  P]  P]  K]  A^ )  Z^ )  or )  JN )  jn )  z} )  MV  WZ  \c  \k  \k  Wk  Ml )XTIc7??.B$C TR[\_ahanan\nRo T  \_ T  sw T  NQ T  ^a T  t}  ~A  CJ  CR  CR  ~R  tS Tl 7)56~t~~FV7WX#9S'//=Q3R #ajknpwp}p}k}a~ #  lo #  BF #  Y\ #  hk #  {D  EH  JQ  JY  JY  EY  {Z #LG3#56 GiW]]HZ>[ Gclmpryrrm  dA G  il G  DH G  ^g  hk  mt  m|  m|  h|  ^} GR 1y/01NO	#w}}2D(E YWZ\c\i\iWiMj r{|  BI  BO  BO  }O  sP   y|   RV   fo  ps  u|  uD  uD  pD  fE @S)C,@"A S  ]a S  qt Sj 3	12>4>>.3QR3;O1P   mq   }@ B>)C,@"A >)TWY`YfYfTfJg >  PS >  fo  ps  u|  uD  uD  pD  fE >@ 3	12>4>>.3QR3;O1P YbcfhohuhucuYv   `c   s|  }@  BI  BQ  BQ  }Q  sR 879S'//-A#B 7R[\_ahaoao\oRp 7  ^g  hk  mt  m|  m|  h|  ^} 7r 534^T^^O5TU)C<P2Q ajknpwp~p~k~a   mv  wz  |C  |K  |K  wK  mL 0.	#w7G7G2G(H .`c .u~  @C  EL  ET  ET  @T  vU .` ;I9:>4>>J\;]^ ygFVFVAV7W ps   DM  NQ  SZ  Sb  Sb  Nb  Dc  G3+?!@ GiX[]d]j]jXjNk Gt}  B  DK  DQ  DQ  Q  uR G  CG G  X[ G  nw  x{  }D  }L  }L  xL  nM GR 1y/01NO	#w:N0O ]fgjlslylygy]z   DM  NQ  SZ  S`  S`  N`  Da   SW   cf   v  @C  EL  ET  ET  @T  vU @ViW__8L.M V\efikrkxkxfx\y V  BK  LO  QX  Q^  Q^  L^  B_ V  hq  ru  w~  wD  wD  rD  hE V  NW  X[  ]d  ]j  ]j  Xj  Nk V  cg V  wz V  MV  WZ  \c  \k  \k  Wk  Ml Vp G)$EF~t~~VpGqr  YsGOOG[=\  ktux  {B  {H  {H  vH  lI    QZ  [^  `g  `m  `m  [m  Qn    w@  AD  FM  FS  FS  AS  wT    ]f  gj  ls  ly  ly  gy  ]z    sw    CF    V_  `c  el  et  et  `t  Vu  FN3;O1P N_hilnun{n{i{_| N  EN  OR  T[  Ta  Ta  Oa  Eb N  kt  ux  zA  zG  zG  uG  kH N  QZ  [^  `g  `m  `m  [m  Qn N  @I  JM  OV  O_  O_  J_  @` N  X\ N  lo N  BK  LO  QX  Q`  Q`  L`  Ba N` KI&IJ>4>>ZwKxy "	#wJ^@_ "nwx{  ~E  ~K  ~K  yK  oL "  T]  ^a  cj  cp  cp  ^p  Tq "  zC  DG  IP  IV  IV  DV  zW "  `i  jm  ov  o|  o|  j|  `} "  OX  Y\  ^e  ^n  ^n  Yn  Oo "  hl "  x{ "  KT  UX  Za  Zi  Zi  Ui  Kj "JU9S'//-A#B UQZ[^`g`m`m[mQn Uv  AD  FM  FS  FS  AS  wT U  ]f  gj  ls  ly  ly  gy  ]z U  rv U  FI U  \e  fi  kr  kz  kz  fz  \{ Un 534^T^^O5TU)C<P2Q `ijmovo|o|j|`}   FO  PS  U\  Ub  Ub  Pb  Fc   lu  vy  {B  {H  {H  vH  lI   BF   RU   en  or  t{  tC  tC  oC  eD DAiW__0D&E AT]^acjcpcp^pTq A  DM  NQ  SZ  Sc  Sc  Nc  Dd A  LO A  bk  lo  qx  q@  q@  l@  bA AF 9978HZ9[\ YsGOO?S5T clmpryrrm  dA   S\  ]`  bi  br  br  ]r  Ss   \_   ox  y|  ~E  ~M  ~M  yM  oN :LiW__0D&E LT]^acjcpcp^pTq L  zC  DG  IP  IV  IV  DV  zW L  `i  jm  ov  o|  o|  j|  `} L  OX  Y\  ^e  ^n  ^n  Yn  Oo L  gk L  {~ L  QZ  [^  `g  `o  `o  [o  Qp L\ 9978HZ9[\  YsGOO?S5T  clmpryrrm  dA    IR  SV  X_  Xe  Xe  Se  If    ox  y|  ~E  ~K  ~K  yK  oL    ^g  hk  mt  m}  m}  h}  ^~    w{    GJ    Zc  dg  ip  ix  ix  dx  Zy  F=	#w*> ? =	RUW^WdWdRdHe =  NQ =  dm  nq  sz  sB  sB  nB  dC =~ /i-.~t~~l/KLygoo9M/N W`adfmfsfsasWt   ^a   qz  {~  @G  @O  @O  {O  qP 8 '.  'j
 #'33E)F 'PYZ]  `C  [C  QD '  S\  ]`  bi  bo  bo  ]o  Sp '  @I  JM  OV  O^  O^  J^  @_ 'R I9%GHXsItu 	#w}}BT8U _hil  oR  jR  `S   bk  lo  qx  q~  q~  l~  b   OX  Y\  ^e  ^m  ^m  Ym  On  53+>!? 5S\]`bibpbp]pSq 5  AJ  KN  PW  P]  P]  K]  A^ 5  il 5  H  IL  NU  N]  N]  I]  ^ 5n 7)56~t~~FW7XY	#w~~:M0N bkloqxqql  cA   PY  Z]  _f  _l  _l  Zl  Pm   y|   LU  VY  [b  [j  [j  Vj  Lk $9Ic7>>.A$B 9V_`celeses`sVt 9  DM  NQ  SZ  S`  S`  N`  Da 9  qz  {~  @G  @M  @M  {M  qN 9  Y\ 9  ox  y|  ~E  ~M  ~M  yM  oN 9v ;I9:>4>>J^;_` 9S'..=P3Q enort{  uC  uC  pC  fD   S\  ]`  bi  bo  bo  ]o  Sp   @I  JM  OV  O\  O\  J\  @]   il   |E  FI  KR  KZ  KZ  FZ  |[ &>	#w*> ? >	RUW^WdWdRdHe >  NQ >  dm  nq  sz  sB  sB  nB  dC >@ /i-.~t~~l/KLygoo9M/N W`adfmfsfsasWt   ^a   qz  {~  @G  @O  @O  {O  qP 83s 3YWZ\c\k\kWkMl 3j 3	12>4>>.3QRs ZcdgipixixdxZy ,BT BRU Bmq B  HQ  RU  W^  Wf  Wf  Rf  Hg BH =Y;<^T^^L`=ab T ]` vz   KT  UX  Za  Zi  Zi  Ui  Kj :43+>!? 4S\]`bibpbp]pSq 4  AJ  KN  PW  P]  P]  K]  A^ 4  il 4  H  IL  NU  N]  N]  I]  ^ 4l 7)56~t~~FW7XY	#w~~:M0N bkloqxqql  cA   PY  Z]  _f  _l  _l  Zl  Pm   y|   LU  VY  [b  [j  [j  Vj  Lk $$33G)H $XabegngvgvbvXw $L Ay!?@PfAgh 
	#wBV8W 
gpqtv}  wF  wF  rF  hG 
v)C,@"A vSVX_XeXeSeIf voxy|  F  L  L  zL  pM v  W`  ad  fm  fs  fs  as  Wt v  FO  PS  U\  Ua  Ua  Pa  Fb v  JM v  `i  jm  ov  o~  o~  j~  ` vp 3	12>4>>.3QR3;O1P XabegngtgtbtXu   H  IL  NU  N[  N[  I[  \   fo  ps  u|  uB  uB  pB  fC   U^  _b  dk  dp  dp  _p  Uq   Z]   mv  wz  |C  |K  |K  wK  mL >53PWP_P_K_A` 5n )9'(	)BCPYZ]_f_n_nZnPo 0$ygoo1E'F $V_`celetet`tVu $L =Y;<^T^^L`=ab 
iW__@T6U 
enort{  uD  uD  pD  fE 
F	$s)W__*D E Fmp F  DM  NQ  SZ  Sb  Sb  Nb  Dc FP -Y+,^T^^K-HI
ycGOO9S/T   ~A   QZ  [^  `g  `o  `o  [o  Qp rk   