
    AVh                    8   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#  ed Z$ ed Z%dde$de%de#e!ejL                  f   fdZ'  ed       ejP                  e'            Z)de$de%de#e!ejL                  f   fdZ* ed Z+ ed Z,g dddfde#e!e+f   de#e!e+f   de,de-d e.de#e!ejL                  f   fd!Z/  ed"       ejP                  e/            Z0de#e!e+f   de#e!e+f   de,de-d e.de#e!ejL                  f   fd#Z1 ed$ Z2 ed% Z3dde2de3de#e!ejL                  f   fd&Z4  ed'       ejP                  e4            Z5de2de3de#e!ejL                  f   fd(Z6 ed) Z7 ed* Z8g dfde7de8de#e!ejL                  f   fd+Z9  ed,       ejP                  e9            Z:de7de8de#e!ejL                  f   fd-Z; ed. Z< ed/ Z=dde<de=d2e>d3e>d4e?de#e!ej                  f   fd5ZA  ed6       ejP                  eA            ZBde<de=d2e>d3e>d4e?de#e!ej                  f   fd7ZC ed8 ZD ed9 ZEddeDdeEd2e>d3e>d4e?de#e!ejL                  f   fd:ZF  ed;       ejP                  eF            ZGdeDdeEd2e>d3e>d4e?de#e!ejL                  f   fd<ZH ed= ZI ed> ZJdd?e#e!ej                  f   d@e#e!eIf   dAe#e!eJf   fdBZK  edC       ejP                  eK            ZLd?e#e!ej                  f   d@e#e!eIf   dAe#e!eJf   fdDZMdd?e#e!ej                  f   dEe#e!ej                  f   dFe-dGe-dHe-dIe>dJe-fdKZN  edL       ejP                  eN            ZOd?e#e!ej                  f   dEe#e!ej                  f   dFe-dGe-dHe-dIe>dJe-fdMZPdd?e#e!ejL                  f   dEe#e!ej                  f   dFe-dGe-dHe-dIe>dJe-fdNZQ  edO       ejP                  eQ            ZRd?e#e!ejL                  f   dEe#e!ej                  f   dFe-dGe-dHe-dIe>dJe-fdPZS edQ ZT edR ZUdd?e#e!ejL                  f   d@e#e!eTf   dAe#e!eUf   fdSZV  edT       ejP                  eV            ZWd?e#e!ejL                  f   d@e#e!eTf   dAe#e!eUf   fdUZX ej                  dVd@dAg      ZZ edW Z[ edX Z\dd?e#e!ej                  f   dYe[dZe\fd[Z]  ed\       ejP                  e]            Z^d?e#e!ej                  f   dYe[dZe\fd]Z_ ej                  d^d@dAg      Z` ed_ Za ed` Zbdd?e#e!ejL                  f   dYeadZebfdaZc  edb       ejP                  ec            Zdd?e#e!ejL                  f   dYeadZebfdcZe edd Zf ede Zgdd?e#e!ej                  f   d@e#e!eff   dfe#e!egf   de#e!egf   fdgZh  edh       ejP                  eh            Zid?e#e!ej                  f   d@e#e!eff   dfe#e!egf   de#e!egf   fdiZj edj Zk edk Zldd?e#e!ejL                  f   d@e#e!ekf   dfe#e!elf   de#e!elf   fdlZm  edm       ejP                  em            Znd?e#e!ejL                  f   d@e#e!ekf   dfe#e!elf   de#e!elf   fdnZo edo Zp edp Zqdd?e#e!ej                  f   d@e#e!epf   dAe#e!eqf   fdqZr  edr       ejP                  er            Zsd?e#e!ej                  f   d@e#e!epf   dAe#e!eqf   fdsZt edt Zu edu Zvdd?e#e!ejL                  f   d@e#e!euf   dAe#e!evf   fdvZw  edw       ejP                  ew            Zxd?e#e!ejL                  f   d@e#e!euf   dAe#e!evf   fdxZy edy Zz edz Z{dd?e#e!ej                  f   d@e#e!ezf   dAe#e!e{f   fd{Z|  ed|       ejP                  e|            Z}d?e#e!ej                  f   d@e#e!ezf   dAe#e!e{f   fd}Z~ ed~ Z ed Zdd?e#e!ejL                  f   d@e#e!ef   dAe#e!ef   fdZ  ed       ejP                  e            Zd?e#e!ejL                  f   d@e#e!ef   dAe#e!ef   fdZ ed Zdd?e#e!ejL                  f   d@e#e!ef   fdZ  ed       ejP                  e            Zd?e#e!ejL                  f   d@e#e!ef   fdZdd?e#e!ej                  f   de#e!ej                  f   fdZ  ed       ejP                  e            Zd?e#e!ej                  f   de#e!ej                  f   fdZdd?e#e!ejL                  f   de#e!ej                  f   fdZ  ed       ejP                  e            Zd?e#e!ejL                  f   de#e!ej                  f   fdZ ed Z ed Zd0d0d1g dddfde#e!ef   ded2e>d3e>d4e?de-d e.de#e!ej                  f   fdZ  ed       ejP                  e            Zde#e!ef   ded2e>d3e>d4e?de-d e.de#e!ej                  f   fdZ ed Z ed Zd0d0d1g dddfde#e!ef   de#e!ef   ded2e>d3e>d4e?de-d e.de#e!ejL                  f   fdZ  ed       ejP                  e            Zde#e!ef   de#e!ef   ded2e>d3e>d4e?de-d e.de#e!ejL                  f   fdZ ed Z ed Zddeded2e>d3e>d4e?de#e!ej                  f   fdZ  ed       ejP                  e            Zdeded2e>d3e>d4e?de#e!ej                  f   fdZ ed Z ed Zd0d0d1g dfdeded2e>d3e>d4e?de#e!ej                  f   fdZ  ed       ejP                  e            Zdeded2e>d3e>d4e?de#e!ej                  f   fdZ ed Z ed Zd0d0d1g dfdeded2e>d3e>d4e?de#e!ejL                  f   fdZ  ed       ejP                  e            Zdeded2e>d3e>d4e?de#e!ejL                  f   fdZ ed Z ed Zddeded2e>d3e>d4e?de#e!ejL                  f   fdZ  ed       ejP                  e            Zdeded2e>d3e>d4e?de#e!ejL                  f   fdZy)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) TV_AnonymousHashTable_key_dtype_atypes.BFloat16_atypes.Bool_atypes.Complex128_atypes.Complex64_atypes.Float16_atypes.Float32_atypes.Float64_atypes.Float8e4m3b11fnuz_atypes.Float8e4m3fn_atypes.Float8e4m3fnuz_atypes.Float8e5m2_atypes.Float8e5m2fnuz_atypes.Half_atypes.Int16_atypes.Int32_atypes.Int4_atypes.Int64_atypes.Int8_atypes.QInt16_atypes.QInt32_atypes.QInt8_atypes.QUInt16_atypes.QUInt8_atypes.Resource_atypes.String_atypes.UInt16_atypes.UInt32_atypes.UInt4_atypes.UInt64_atypes.UInt8_atypes.Variant) !TV_AnonymousHashTable_value_dtyper   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/   r0   r1   r2   	key_dtypevalue_dtypereturnc           	         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|d| d|      }|S t        j                  | 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!  Creates a uninitialized anonymous hash table.

  This op creates a new anonymous hash table (as a resource) everytime
  it is executed, with the specified dtype of its keys and values,
  returning the resource handle.  Before using the table you will have
  to initialize it.  After initialization the table will be
  immutable. The table is anonymous in the sense that it can only be
  accessed by the returned resource handle (e.g. it cannot be looked up
  by a name in a resource manager). The table will be automatically
  deleted when all resource handles pointing to it are gone.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  AnonymousHashTabler4   r5   Nr4   r5   namectxr4   r5   r:   )_contextr   _thread_local_datais_eagerr   TFE_Py_FastPathExecute_core_NotOkStatusException_opsraise_from_not_ok_status_FallbackException#anonymous_hash_table_eager_fallback_SymbolicException_execute	make_type_op_def_library_apply_op_helpermust_record_gradient_get_attr_typeinputsrecord_gradientr4   r5   r:   _ctxtld_resulte__op_outputs_attrs_inputs_flats               T/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/ops/gen_lookup_ops.pyanonymous_hash_tabler[      s   ( 
			0h..0$#\\11"D+y{$g n   K8)"";>+'88	{#')!QX QK'""$3--k:M  /1F::LlFG=('	./ && -
##At,,## 
0;TtM M## 
0    D E!D<<EEE( (E?>E?zraw_ops.AnonymousHashTablec                    t        j                  | d      } t        j                  |d      }g }d| d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr4   r5   s   AnonymousHashTable   rN   attrsr;   r:   r8   rH   rI   r   rL   rO   r4   r5   r:   r;   rY   rX   rS   s          rZ   rF   rF   T   s      K8)"";>+,M;?&2Al#)s?'""$lFG=('	.    ) +TV_AnonymousMutableDenseHashTable_key_dtyper   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/   r0   r1   r2   ) -TV_AnonymousMutableDenseHashTable_value_dtyper   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/   r0   r1   r2      皙?	empty_keydeleted_keyinitial_num_bucketsmax_load_factorc                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|| |d|d|d|d|      }	|	S t        j                  |d      }|g }t        j                  |d      }|d}t        j                   |d      }|d	}t        j"                  |d      }t%        j&                  d| ||||||
      \  }}}}|dd }	t        j(                         r{d|j+                  d      d|j+                  d      d|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)a&  Creates an empty anonymous mutable hash table that uses tensors as the backing store.

  This op creates a new anonymous mutable hash table (as a resource) everytime
  it is executed, with the specified dtype of its keys and values,
  returning the resource handle. Each value must be a scalar.
  Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  It uses "open addressing" with quadratic reprobing to resolve
  collisions.

  The table is anonymous in the sense that it can only be
  accessed by the returned resource handle (e.g. it cannot be looked up
  by a name in a resource manager). The table will be automatically
  deleted when all resource handles pointing to it are gone.

  Args:
    empty_key: A `Tensor`.
      The key used to represent empty key buckets internally. Must not
      be used in insert or lookup operations.
    deleted_key: A `Tensor`. Must have the same type as `empty_key`.
    value_dtype: A `tf.DType`. Type of the table values.
    value_shape: An optional `tf.TensorShape` or list of `ints`. Defaults to `[]`.
      The shape of each value.
    initial_num_buckets: An optional `int`. Defaults to `131072`.
      The initial number of hash table buckets. Must be a power
      to 2.
    max_load_factor: An optional `float`. Defaults to `0.8`.
      The maximum ratio between number of entries and number of
      buckets before growing the table. Must be between 0 and 1.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  AnonymousMutableDenseHashTabler5   value_shaperj   rk   N)r5   rn   rj   rk   r:   r;   rf   rg   )rh   ri   r5   rn   rj   rk   r:   r4   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   1anonymous_mutable_dense_hash_table_eager_fallbackrG   rH   rI   
make_shapemake_int
make_floatrJ   rK   rL   rM   get_attr_get_attr_intrN   rO   )rh   ri   r5   rn   rj   rk   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                   rZ   "anonymous_mutable_dense_hash_tableru   e   s)   H 
			0h..0$#\\
11.i{M;24E	g
 n "";>+K##K?+   ))*=?TUO''9JK/'88(I6A6A6A>Q:I/35!QX QK'""$3--k:M  /ll=)+@ 568Ill,-	/F
 ::L(,I('	.S && -
##At,,## 
>
[k!7J)$@ @ ## 
s0    "F G
F11G
	G
G! !G87G8z&raw_ops.AnonymousMutableDenseHashTablec           
         t        j                  |d      }|g }t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }t        j
                  | |g|g       \  }}	|	\  } }| |g}
d|d|d|d|d|f
}t        j                  dd	|
|||
      }t        j                         rt        j                  d|
||       |\  }|S )Nr5   rn   rf   rj   rg   rk   r4   s   AnonymousMutableDenseHashTabler^   r_   rm   )	rH   rI   rp   rq   rr   args_to_matching_eagerr   rL   rO   )rh   ri   r5   rn   rj   rk   r:   r;   _attr_key_dtype_inputs_key_dtyperY   rX   rS   s                rZ   ro   ro      s   "";>+K##K?+   ))*=?TUO''9JK/'/'F'F	S^G_adfh'i$/$.9k[),-35H_&& >$0C"&(' ""$(,I('	.rc   ) &TV_AnonymousMutableHashTable_key_dtyper   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/   r0   r1   r2   ) (TV_AnonymousMutableHashTable_value_dtyper   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/   r0   r1   r2   c           	         t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|d| d|      }|S t        j                  | 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)aQ  Creates an empty anonymous mutable hash table.

  This op creates a new anonymous mutable hash table (as a resource) everytime
  it is executed, with the specified dtype of its keys and values,
  returning the resource handle. Each value must be a scalar.
  Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.
  The table is anonymous in the sense that it can only be
  accessed by the returned resource handle (e.g. it cannot be looked up
  by a name in a resource manager). The table will be automatically
  deleted when all resource handles pointing to it are gone.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  AnonymousMutableHashTabler4   r5   Nr9   r<   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   +anonymous_mutable_hash_table_eager_fallbackrG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   s               rZ   anonymous_mutable_hash_tabler      s   * 
			0h..0$#\\11)4i{$g n   K8)"";>+'88#y1<4I!QX QK'""$3--k:M  /1F::L#\67D('	./ && -
##At,,## 
8;TtM M## 
r\   z!raw_ops.AnonymousMutableHashTablec                    t        j                  | d      } t        j                  |d      }g }d| d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       |\  }|S )Nr4   r5   s   AnonymousMutableHashTabler^   r_   r}   ra   rb   s          rZ   r~   r~     s      K8)"";>+,M;?&91$0C"&(' ""$#\67D('	.rc   ) /TV_AnonymousMutableHashTableOfTensors_key_dtyper   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/   r0   r1   r2   ) 1TV_AnonymousMutableHashTableOfTensors_value_dtyper   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/   r0   r1   r2   c                 b   t         j                   xs t        j                         }|j                  }|j                  r 	 t	        j
                  |d|d| d|d|	      }|S t        j                  | d      } t        j                  |d      }|g }t        j                  |d      }t!        j"                  d| |||      \  }}}	}
|
dd }t        j$                         rYd|	j'                  d      d|	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 Nw xY w)a  Creates an empty anonymous mutable hash table of vector values.

  This op creates a new anonymous mutable hash table (as a resource) everytime
  it is executed, with the specified dtype of its keys and values,
  returning the resource handle. Each value must be a vector.
  Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.
  The table is anonymous in the sense that it can only be
  accessed by the returned resource handle (e.g. it cannot be looked up
  by a name in a resource manager). The table will be automatically
  deleted when all resource handles pointing to it are gone.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    value_shape: An optional `tf.TensorShape` or list of `ints`. Defaults to `[]`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  "AnonymousMutableHashTableOfTensorsr4   r5   rn   N)r4   r5   rn   r:   r;   )r4   r5   rn   r:   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   6anonymous_mutable_hash_table_of_tensors_eager_fallbackrG   rH   rI   rp   rJ   rK   rL   rM   rs   rN   rO   )r4   r5   rn   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                rZ   'anonymous_mutable_hash_table_of_tensorsr   *  s   , 
			0h..0$#\\112D+=+}kKg n   K8)"";>+K##K?+'88,	:E:E37	9!QX
 QK'""$3--k:M  /ll=)+F ::L,lFGM('	.= && -
##At,,## 
C;!$8 8 ## 
s0    D< <FE**FFF F.-F.z*raw_ops.AnonymousMutableHashTableOfTensorsc                 <   t        j                  | d      } t        j                  |d      }|g }t        j                  |d      }g }d| d|d|f}t        j                  dd||||      }t        j                         rt        j
                  d|||       |\  }|S )Nr4   r5   rn   s"   AnonymousMutableHashTableOfTensorsr^   r_   r   )rH   rI   rp   r   rL   rO   )r4   r5   rn   r:   r;   rY   rX   rS   s           rZ   r   r   k  s      K8)"";>+K##K?+,M;&BA$0C"&(' ""$,lFGM('	.rc   ) TV_HashTable_key_dtyper   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/   r0   r1   r2   ) TV_HashTable_value_dtyper   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/   r0   r1   r2    F	containershared_nameuse_node_name_sharingc                    t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  | d      } t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d	      }t        j                  d
| |||||      \  }}}	}
|
dd }t        j                         r{d|	j                  d      d|	j                  d      d	|	j                  d	      d|	j                  d      d|	j                  d      f
}|	j                  }t        j                   d
|||       |\  }|S )a  Creates a non-initialized hash table.

  This op creates a hash table, specifying the type of its keys and values.
  Before using the table you will have to initialize it.  After initialization the
  table will be immutable.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
      If true and shared_name is empty, the table is shared
      using the node name.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type mutable `string`.
  Lhash_table op does not support eager execution. Arg 'table_handle' is a ref.r4   r5   Nr   r   r   Fr   	HashTabler4   r5   r   r   r   r:   r=   r   r>   r?   RuntimeErrorrH   rI   make_str	make_boolrJ   rK   rL   rs   _get_attr_boolrM   rN   rO   r4   r5   r   r   r   r:   rQ   rR   rU   rV   rW   rS   rX   rY   s                 rZ   
hash_tabler     s   0 
			0h..0$#\\
e
ff  K8)"";>+I	;7)K!!+}=+"!",,-BD[\'88yk(k+@tM!QX QK'""$3<<4mll=)+B  !89;  -}  /	1F
 ::L\674('	.rc   zraw_ops.HashTablec                     t        d      )Nr   r   r4   r5   r   r   r   r:   r;   s          rZ   hash_table_eager_fallbackr     s    cddrc   ) TV_HashTableV2_key_dtyper   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/   r0   r1   r2   ) TV_HashTableV2_value_dtyper   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/   r0   r1   r2   c                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|d|d|d|d| d|      }|S t        j                  | d      } t        j                  |d      }|d	}t        j                  |d      }|d	}t        j                  |d      }|d
}t        j                   |d      }t#        j$                  d| |||||      \  }
}
}}|dd }t        j&                         r{d|j)                  d      d|j)                  d      d|j+                  d      d|j-                  d      d|j-                  d      f
}|j.                  }t        j0                  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 non-initialized hash table.

  This op creates a hash table, specifying the type of its keys and values.
  Before using the table you will have to initialize it.  After initialization the
  table will be immutable.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
      If true and shared_name is empty, the table is shared
      using the node name.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  HashTableV2r   r   r   r4   r5   Nr   r   r   r4   r5   r:   r;   r   Fr   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   hash_table_v2_eager_fallbackrG   rH   rI   r   r   rJ   rK   rL   rs   r   rM   rN   rO   r4   r5   r   r   r   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                  rZ   hash_table_v2r     s*   0 
			0h..0$#\\	11mT;	=,.CY{<g n   K8)"";>+I	;7)K!!+}=+"!",,-BD[\'88!*-BO!QX QK'""$3<<4mll=)+B  !89;  -}  /	1F
 ::L|VW6('	.M && -
##At,,## 
); 5!$8 8 ## 
0    "F G+GGG#G5 5HHzraw_ops.HashTableV2c           
         t        j                  | d      } t        j                  |d      }|d}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 )Nr4   r5   r   r   r   Fr   s   HashTableV2r^   r_   r   rH   rI   r   r   r   rL   rO   
r4   r5   r   r   r   r:   r;   rY   rX   rS   s
             rZ   r   r     s      K8)"";>+I	;7)K!!+}=+"!",,-BD[\,M;0+y& ^Q|#)s?'""$|VW6('	.rc   ) TV_InitializeTable_Tkeyr   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/   r0   r1   r2   ) TV_InitializeTable_Tvalr   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/   r0   r1   r2   table_handlekeysvaluesc                     t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  d| |||      \  }}}}|S )al  Table initializer that takes two tensors for keys and values respectively.

  Args:
    table_handle: A `Tensor` of type mutable `string`.
      Handle to a table which will be initialized.
    keys: A `Tensor`. Keys of type Tkey.
    values: A `Tensor`. Values of type Tval.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  Rinitialize_table op does not support eager execution. Arg 'table_handle' is a ref.InitializeTabler   r   r   r:   r=   r   r>   r?   r   rJ   rK   	r   r   r   r:   rQ   rR   rU   rV   rW   s	            rZ   initialize_tabler   +  sg     
			0h..0$#\\
k
ll'884"(t5!QX 
*rc   zraw_ops.InitializeTablec                     t        d      )Nr   r   r   r   r   r:   r;   s        rZ   initialize_table_eager_fallbackr   D  s    ijjrc   filename	key_indexvalue_index
vocab_size	delimiteroffsetc                    t         j                   xs t        j                         }|j                  }	|	j                  rt	        d      t        j                  |d      }t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d	      }t        j                  d
| |||||||	      \  }
}
}}|S )a  Initializes a table from a text file.

  It inserts one key-value pair into the table for each line of the file.
  The key and value is extracted from the whole line content, elements from the
  split line based on `delimiter` or the line number (starting from zero).
  Where to extract the key and value from a line is specified by `key_index` and
  `value_index`.

  - A value of -1 means use the line number(starting from zero), expects `int64`.
  - A value of -2 means use the whole line content, expects `string`.
  - A value >= 0 means use the index (starting at zero) of the split line based
    on `delimiter`.

  Args:
    table_handle: A `Tensor` of type mutable `string`.
      Handle to a table which will be initialized.
    filename: A `Tensor` of type `string`. Filename of a vocabulary text file.
    key_index: An `int` that is `>= -2`.
      Column index in a line to get the table `key` values from.
    value_index: An `int` that is `>= -2`.
      Column index that represents information of a line to get the table
      `value` values from.
    vocab_size: An optional `int` that is `>= -1`. Defaults to `-1`.
      Number of elements of the file, use -1 if unknown.
    delimiter: An optional `string`. Defaults to `"\t"`.
      Delimiter to separate fields in a line.
    offset: An optional `int`. Defaults to `0`.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  ainitialize_table_from_text_file op does not support eager execution. Arg 'table_handle' is a ref.r   r   r   	r   r   r   InitializeTableFromTextFiler   r   r   r   r   r   r   r:   )
r=   r   r>   r?   r   rH   rq   r   rJ   rK   )r   r   r   r   r   r   r   r:   rQ   rR   rU   rV   rW   s                rZ   initialize_table_from_text_filer   G  s    B 
			0h..0$#\\
z
{{	;7)!!+}=+J  \:*I	;7)^FVX.&'88%L08I3>2<1:6,02!QX 
*rc   z#raw_ops.InitializeTableFromTextFilec	                     t        d      )Nr   r   )	r   r   r   r   r   r   r   r:   r;   s	            rZ   .initialize_table_from_text_file_eager_fallbackr     s    xyyrc   c                    t         j                   xs t        j                         }|j                  }	|	j                  r&	 t	        j
                  |d|| |d|d|d|d|d|      }
|
S t        j                  |d      }t        j                  |d      }|d	}t        j                  |d      }|d
}t        j                  |d      }|d}t        j                  |d      }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 a table from a text file.

  It inserts one key-value pair into the table for each line of the file.
  The key and value is extracted from the whole line content, elements from the
  split line based on `delimiter` or the line number (starting from zero).
  Where to extract the key and value from a line is specified by `key_index` and
  `value_index`.

  - A value of -1 means use the line number(starting from zero), expects `int64`.
  - A value of -2 means use the whole line content, expects `string`.
  - A value >= 0 means use the index (starting at zero) of the split line based
    on `delimiter`.

  Args:
    table_handle: A `Tensor` of type `resource`.
      Handle to a table which will be initialized.
    filename: A `Tensor` of type `string`. Filename of a vocabulary text file.
    key_index: An `int` that is `>= -2`.
      Column index in a line to get the table `key` values from.
    value_index: An `int` that is `>= -2`.
      Column index that represents information of a line to get the table
      `value` values from.
    vocab_size: An optional `int` that is `>= -1`. Defaults to `-1`.
      Number of elements of the file, use -1 if unknown.
    delimiter: An optional `string`. Defaults to `"\t"`.
      Delimiter to separate fields in a line.
    offset: An optional `int`. Defaults to `0`.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  InitializeTableFromTextFileV2r   r   r   r   r   N)r   r   r   r   r   r:   r;   r   r   r   r   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   1initialize_table_from_text_file_v2_eager_fallbackrG   rH   rq   r   rJ   rK   )r   r   r   r   r   r   r   r:   rQ   rR   rS   rT   rU   rV   rW   s                  rZ   "initialize_table_from_text_file_v2r     s   B 
			0h..0$#\\	11-t\8Y{LKHf>g n 	;7)!!+}=+J  \:*I	;7)^FVX.&'88'l2:3<5@4>3<V.24!QX 
*? && -
##At,,## 
>
I!jId. . ## 
s0    $D ED22E
EE# #E:9E:z%raw_ops.InitializeTableFromTextFileV2c	           
         t        j                  |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|f
}
t        j                  d	d|	|
||
      }d }|S )Nr   r   r   r   r   r   r   r   s   InitializeTableFromTextFileV2r_   )	rH   rq   r   rC   convert_to_tensor_dtypesresourcestringr   )r   r   r   r   r   r   r   r:   r;   rY   rX   rS   s               rZ   r   r     s    	;7)!!+}=+J  \:*I	;7)^FVX.&''g6F6FG,##Hgnn=(),M;k9h8&=q$0C"&(' '	.rc   ) TV_InitializeTableV2_Tkeyr   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/   r0   r1   r2   ) TV_InitializeTableV2_Tvalr   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/   r0   r1   r2   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)af  Table initializer that takes two tensors for keys and values respectively.

  Args:
    table_handle: A `Tensor` of type `resource`.
      Handle to a table which will be initialized.
    keys: A `Tensor`. Keys of type Tkey.
    values: A `Tensor`. Values of type Tval.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  InitializeTableV2Nr:   r;   r   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   "initialize_table_v2_eager_fallbackrG   rJ   rK   r   r   r   r:   rQ   rR   rS   rT   rU   rV   rW   s              rZ   initialize_table_v2r     s     
			0h..0$#\\11!4tVEgn (88,T$*7!QX 
* && -
##At,,## 
/
f4T; ;## 
0    A= =CB++CCC C.-C.zraw_ops.InitializeTableV2c                    t        j                  |g|g       \  }\  }t        j                  |g|g       \  }\  }t        j                  | t        j
                        } | ||g}d|d|f}t        j                  dd||||      }	d }	|	S )NTkeyTvals   InitializeTableV2r   r_   rH   rw   rC   r   r   r   r   )
r   r   r   r:   r;   
_attr_Tkey
_attr_TvalrY   rX   rS   s
             rZ   r   r     s     77RH*gt"996(CL*iv''g6F6FG,f-,J
3&11\#)s?''	.rc   LookupTableExport) TV_LookupTableExport_Tkeysr   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/   r0   r1   r2   ) TV_LookupTableExport_Tvaluesr   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/   r0   r1   r2   TkeysTvaluesc                    t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  |d      }t        j                  |d      }t        j                  d| |||      \  }}}}|dd }	t        j                         rHd|j                  d      d|j                  d      f}
|j                  }t        j                  d||
|	       t        j                  |	      }	|	S )aq  Outputs all keys and values in the table.

  Args:
    table_handle: A `Tensor` of type mutable `string`. Handle to the table.
    Tkeys: A `tf.DType`.
    Tvalues: A `tf.DType`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (keys, values).

    keys: A `Tensor` of type `Tkeys`.
    values: A `Tensor` of type `Tvalues`.
  Ulookup_table_export op does not support eager execution. Arg 'table_handle' is a ref.r   r   r   r   r   r   r:   N)r=   r   r>   r?   r   rH   rI   rJ   rK   rL   rM   rN   rO   _LookupTableExportOutput_make)r   r   r   r:   rQ   rR   rU   rV   rW   rS   rX   rY   s               rZ   lookup_table_exportr   &  s     
			0h..0$#\\
n
oo


UG
,%w	2''88,e%,49!QX QK'""$s))'2I  +-F::L\67<$**73'	.rc   zraw_ops.LookupTableExportc                     t        d      )Nr   r   )r   r   r   r:   r;   s        rZ   "lookup_table_export_eager_fallbackr   L      lmmrc   LookupTableExportV2) TV_LookupTableExportV2_Tkeysr   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/   r0   r1   r2   ) TV_LookupTableExportV2_Tvaluesr   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/   r0   r1   r2   c           
      V   t         j                   xs t        j                         }|j                  }|j                  r4	 t	        j
                  |d|| d|d|      }t        j                  |      }|S t        j                   |d      }t        j                   |d      }t#        j$                  d| |||      \  }}}	}
|
dd }t        j&                         rHd|	j)                  d      d|	j)                  d      f}|	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 4w xY w)ak  Outputs all keys and values in the table.

  Args:
    table_handle: A `Tensor` of type `resource`. Handle to the table.
    Tkeys: A `tf.DType`.
    Tvalues: A `tf.DType`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (keys, values).

    keys: A `Tensor` of type `Tkeys`.
    values: A `Tensor` of type `Tvalues`.
  r   r   r   N)r   r   r:   r;   r   )r=   r   r>   r?   r   r@   _LookupTableExportV2Outputr   rA   rB   rC   rD   rE   %lookup_table_export_v2_eager_fallbackrG   rH   rI   rJ   rK   rL   rM   rN   rO   )r   r   r   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                rZ   lookup_table_export_v2r   V  s    
			0h..0$#\\	11#T<%7g +009gn 

UG
,%w	2''88L'.T;!QX QK'""$s))'2I  +-F::L|VW>&,,W5'	./ && -
##At,,## 
2
eW4TK K## 
s0    2D6 6E=	E$$E=<E=F F('F(zraw_ops.LookupTableExportV2c                 p   t        j                  |d      }t        j                  |d      }t        j                  | t        j
                        } | g}d|d|f}t        j                  dd||||      }t        j                         rt        j                  d|||       t        j                  |      }|S )Nr   r   s   LookupTableExportV2   r_   r   )rH   rI   rC   r   r   r   r   rL   rO   r   r   )r   r   r   r:   r;   rY   rX   rS   s           rZ   r   r     s    


UG
,%w	2'''g6F6FG,,UIw/&3Q|#)s?'""$|VW>&,,W5'	.rc   ) TV_LookupTableFind_Tinr   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/   r0   r1   r2   ) TV_LookupTableFind_Toutr   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/   r0   r1   r2   default_valuec                    t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  d| |||      \  }}}}|dd }	t        j                         rHd|j                  d      d|j                  d      f}
|j                  }t        j                  d||
|	       |	\  }	|	S )ab  Looks up keys in a table, outputs the corresponding values.

  The tensor `keys` must of the same type as the keys of the table.
  The output `values` is of the type of the table values.

  The scalar `default_value` is the value output for keys not present in the
  table. It must also be of the same type as the table values.

  Args:
    table_handle: A `Tensor` of type mutable `string`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys to look up.
    default_value: A `Tensor`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `default_value`.
  Slookup_table_find op does not support eager execution. Arg 'table_handle' is a ref.LookupTableFindr   r   r   r:   NTinTout)r=   r   r>   r?   r   rJ   rK   rH   rL   rM   rN   rO   )r   r   r   r:   rQ   rR   rU   rV   rW   rS   rX   rY   s               rZ   lookup_table_findr     s    $ 
			0h..0$#\\
l
mm'884)6TC!QX QK'""$S''.  (*F::L<:('	.rc   zraw_ops.LookupTableFindc                     t        d      )Nr   r   )r   r   r   r:   r;   s        rZ    lookup_table_find_eager_fallbackr        jkkrc   ) TV_LookupTableFindV2_Tinr   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/   r0   r1   r2   ) TV_LookupTableFindV2_Toutr   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/   r0   r1   r2   c                    t         j                   xs t        j                         }|j                  }|j                  r	 t	        j
                  |d|| ||      }|S 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\  Looks up keys in a table, outputs the corresponding values.

  The tensor `keys` must of the same type as the keys of the table.
  The output `values` is of the type of the table values.

  The scalar `default_value` is the value output for keys not present in the
  table. It must also be of the same type as the table values.

  Args:
    table_handle: A `Tensor` of type `resource`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys to look up.
    default_value: A `Tensor`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `default_value`.
  LookupTableFindV2Nr   r   r   r   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   #lookup_table_find_v2_eager_fallbackrG   rJ   rK   rH   rL   rM   rN   rO   )r   r   r   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                rZ   lookup_table_find_v2r    s]   $ 
			0h..0$#\\11!4t]Lgn (88,T+8tE!QX QK'""$S''.  (*F::L\67<('	.+ && -
##At,,## 
0
m$DB B## 
s0    C" "D)5DD)(D)-D= =EEzraw_ops.LookupTableFindV2c                 n   t        j                  |g|g       \  }\  }t        j                  |g|g       \  }\  }t        j                  | t        j
                        } | ||g}d|d|f}t        j                  dd||||      }	t        j                         rt        j                  d|||	       |	\  }	|	S )Nr   r   s   LookupTableFindV2r^   r_   r  )	rH   rw   rC   r   r   r   r   rL   rO   )
r   r   r   r:   r;   	_attr_Tin
_attr_ToutrY   rX   rS   s
             rZ   r  r    s    66vsBG)Wd!)!@!@-RUWY!Z*}''g6F6FG,m4,9fj1&11\#)s?'""$\67<('	.rc   ) TV_LookupTableImport_Tinr   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/   r0   r1   r2   ) TV_LookupTableImport_Toutr   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/   r0   r1   r2   c                     t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  d| |||      \  }}}}|S )a  Replaces the contents of the table with the specified keys and values.

  The tensor `keys` must be of the same type as the keys of the table.
  The tensor `values` must be of the type of the table values.

  Args:
    table_handle: A `Tensor` of type mutable `string`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys to look up.
    values: A `Tensor`. Values to associate with keys.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  Ulookup_table_import op does not support eager execution. Arg 'table_handle' is a ref.LookupTableImportr   r   r   s	            rZ   lookup_table_importr    g     
			0h..0$#\\
n
oo'88,T$*7!QX 
*rc   zraw_ops.LookupTableImportc                     t        d      )Nr  r   r   s        rZ   "lookup_table_import_eager_fallbackr  )  r   rc   ) TV_LookupTableImportV2_Tinr   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/   r0   r1   r2   ) TV_LookupTableImportV2_Toutr   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/   r0   r1   r2   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  Replaces the contents of the table with the specified keys and values.

  The tensor `keys` must be of the same type as the keys of the table.
  The tensor `values` must be of the type of the table values.

  Args:
    table_handle: A `Tensor` of type `resource`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys to look up.
    values: A `Tensor`. Values to associate with keys.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  LookupTableImportV2Nr   r   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   %lookup_table_import_v2_eager_fallbackrG   rJ   rK   r   s              rZ   lookup_table_import_v2r  /       
			0h..0$#\\11#T<vGgn (88Lt&,49!QX 
* && -
##At,,## 
2
f4T; ;## 
r   zraw_ops.LookupTableImportV2c                    t        j                  |g|g       \  }\  }t        j                  |g|g       \  }\  }t        j                  | t        j
                        } | ||g}d|d|f}t        j                  dd||||      }	d }	|	S )Nr   r   s   LookupTableImportV2r   r_   r   
r   r   r   r:   r;   r
  r  rY   rX   rS   s
             rZ   r  r  V      66vsBG)Wd"996(CL*iv''g6F6FG,f-,9fj1&3Q|#)s?''	.rc   ) TV_LookupTableInsert_Tinr   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/   r0   r1   r2   ) TV_LookupTableInsert_Toutr   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/   r0   r1   r2   c                     t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  d| |||      \  }}}}|S )a  Updates the table to associates keys with values.

  The tensor `keys` must be of the same type as the keys of the table.
  The tensor `values` must be of the type of the table values.

  Args:
    table_handle: A `Tensor` of type mutable `string`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys to look up.
    values: A `Tensor`. Values to associate with keys.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  Ulookup_table_insert op does not support eager execution. Arg 'table_handle' is a ref.LookupTableInsertr   r   r   s	            rZ   lookup_table_insertr$  e  r  rc   zraw_ops.LookupTableInsertc                     t        d      )Nr"  r   r   s        rZ   "lookup_table_insert_eager_fallbackr&    r   rc   ) TV_LookupTableInsertV2_Tinr   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/   r0   r1   r2   ) TV_LookupTableInsertV2_Toutr   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/   r0   r1   r2   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  Updates the table to associates keys with values.

  The tensor `keys` must be of the same type as the keys of the table.
  The tensor `values` must be of the type of the table values.

  Args:
    table_handle: A `Tensor` of type `resource`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys to look up.
    values: A `Tensor`. Values to associate with keys.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  LookupTableInsertV2Nr   r   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   %lookup_table_insert_v2_eager_fallbackrG   rJ   rK   r   s              rZ   lookup_table_insert_v2r,    r  r   zraw_ops.LookupTableInsertV2c                    t        j                  |g|g       \  }\  }t        j                  |g|g       \  }\  }t        j                  | t        j
                        } | ||g}d|d|f}t        j                  dd||||      }	d }	|	S )Nr   r   s   LookupTableInsertV2r   r_   r   r  s
             rZ   r+  r+    r  rc   ) TV_LookupTableRemoveV2_Tinr   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/   r0   r1   r2   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  Removes keys and its associated values from a table.

  The tensor `keys` must of the same type as the keys of the table. Keys not
  already in the table are silently ignored.

  Args:
    table_handle: A `Tensor` of type `resource`. Handle to the table.
    keys: A `Tensor`. Any shape.  Keys of the elements to remove.
    name: A name for the operation (optional).

  Returns:
    The created Operation.
  LookupTableRemoveV2Nr   )r   r   r:   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   %lookup_table_remove_v2_eager_fallbackrG   rJ   rK   )
r   r   r:   rQ   rR   rS   rT   rU   rV   rW   s
             rZ   lookup_table_remove_v2r2    s     
			0h..0$#\\11#T<?gn (88Lt$(*!QX 
* && -
##At,,## 
2
4T3 3## 
s0    A; ;CB))CCC C+*C+zraw_ops.LookupTableRemoveV2c                     t        j                  |g|g       \  }\  }t        j                  | t        j
                        } | |g}d|f}t        j                  dd||||      }d }|S )Nr   s   LookupTableRemoveV2r   r_   r   )r   r   r:   r;   r
  rY   rX   rS   s           rZ   r1  r1    ss    66vsBG)Wd''g6F6FG,%,9&3Q|#)s?''	.rc   c                 X   t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  d| |      \  }}}}|dd }t        j                         r&d}|j                  }	t        j                  d|	||       |\  }|S )zComputes the number of elements in the given table.

  Args:
    table_handle: A `Tensor` of type mutable `string`. Handle to the table.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `int64`.
  Slookup_table_size op does not support eager execution. Arg 'table_handle' is a ref.LookupTableSizer   r:   N )r=   r   r>   r?   r   rJ   rK   rH   rL   rN   rO   )
r   r:   rQ   rR   rU   rV   rW   rS   rX   rY   s
             rZ   lookup_table_sizer9    s     
			0h..0$#\\
l
mm'884A!QXQK'""$F::L<:('	.rc   zraw_ops.LookupTableSizec                     t        d      )Nr5  r   )r   r:   r;   s      rZ    lookup_table_size_eager_fallbackr;  	  r  rc   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)zComputes the number of elements in the given table.

  Args:
    table_handle: A `Tensor` of type `resource`. Handle to the table.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `int64`.
  LookupTableSizeV2Nr   r7  r8  )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   #lookup_table_size_v2_eager_fallbackrG   rJ   rK   rH   rL   rN   rO   )r   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s              rZ   lookup_table_size_v2r?    s)    
			0h..0$#\\11!47gn (88,TC!QXQK'""$F::L\67<('	.' && -
##At,,## 
0
Tt- -## 
s0    B< <DC**DDD D+*D+zraw_ops.LookupTableSizeV2c                     t        j                  | t        j                        } | g}d }t	        j
                  dd||||      }t	        j                         rt	        j                  d|||       |\  }|S )Ns   LookupTableSizeV2r^   r_   r=  )rC   r   r   r   rH   r   rL   rO   )r   r:   r;   rY   rX   rS   s         rZ   r>  r>  5  ss    ''g6F6FG,,&11\#)s?'""$\67<('	.rc   ) "TV_MutableDenseHashTable_key_dtyper   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/   r0   r1   r2   ) $TV_MutableDenseHashTable_value_dtyper   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/   r0   r1   r2   c	                    t         j                   xs t        j                         }	|	j                  }
|
j                  rt	        d      t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|g }t        j                  |d	      }|d
}t        j                  |d      }|d}t        j                  |d      }t        j                  d| ||||||||
      \  }}}}|dd }t        j                         rd|j                  d      d|j                  d      d|j!                  d      d|j#                  d      d|j#                  d      d	|j                  d	      d|j%                  d      d|j                  d      f}|j&                  }t        j(                  d|||       |\  }|S )a  Creates an empty hash table that uses tensors as the backing store.

  It uses "open addressing" with quadratic reprobing to resolve
  collisions.

  This op creates a mutable hash table, specifying the type of its keys and
  values. Each value must be a scalar. Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  Args:
    empty_key: A `Tensor`.
      The key used to represent empty key buckets internally. Must not
      be used in insert or lookup operations.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
    value_shape: An optional `tf.TensorShape` or list of `ints`. Defaults to `[]`.
      The shape of each value.
    initial_num_buckets: An optional `int`. Defaults to `131072`.
      The initial number of hash table buckets. Must be a power
      to 2.
    max_load_factor: An optional `float`. Defaults to `0.8`.
      The maximum ratio between number of entries and number of
      buckets before growing the table. Must be between 0 and 1.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type mutable `string`.
  Zmutable_dense_hash_table op does not support eager execution. Arg 'table_handle' is a ref.r5   Nr   r   r   Fr   rn   rf   rj   rg   rk   MutableDenseHashTable)	rh   r5   r   r   r   rn   rj   rk   r:   r4   )r=   r   r>   r?   r   rH   rI   r   r   rp   rq   rr   rJ   rK   rL   rs   r   rM   rt   rN   rO   )rh   r5   r   r   r   rn   rj   rk   r:   rQ   rR   rU   rV   rW   rS   rX   rY   s                    rZ   mutable_dense_hash_tablerF  E  s   F 
			0h..0$#\\
s
tt"";>+I	;7)K!!+}=+"!",,-BD[\K##K?+   ))*=?TUO''9JK/'889++4+7L-85H1@tM!QX QK'""$3<<4mll=)+B  !89;  -}  /ll=)+@ 568Ill,-/F ::Lvw@('	.rc   zraw_ops.MutableDenseHashTablec
                     t        d      )NrD  r   )
rh   r5   r   r   r   rn   rj   rk   r:   r;   s
             rZ   'mutable_dense_hash_table_eager_fallbackrH    s    qrrrc   ) $TV_MutableDenseHashTableV2_key_dtyper   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/   r0   r1   r2   ) &TV_MutableDenseHashTableV2_value_dtyper   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/   r0   r1   r2   c
                    t         j                   xs t        j                         }
|
j                  }|j                  r*	 t	        j
                  |
d|	| |d|d|d|d|d|d|d|      }|S t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                   |d      }|g }t        j"                  |d      }|d}t        j$                  |d      }|d}t        j&                  |d      }t)        j*                  d| |||||||||	      \  }}}}|d	d	 }t        j,                         rd|j/                  d      d|j/                  d      d|j1                  d      d|j3                  d      d|j3                  d      d|j/                  d      d|j5                  d      d|j/                  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)a2  Creates an empty hash table that uses tensors as the backing store.

  It uses "open addressing" with quadratic reprobing to resolve
  collisions.

  This op creates a mutable hash table, specifying the type of its keys and
  values. Each value must be a scalar. Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  Args:
    empty_key: A `Tensor`.
      The key used to represent empty key buckets internally. Must not
      be used in insert or lookup operations.
    deleted_key: A `Tensor`. Must have the same type as `empty_key`.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
    value_shape: An optional `tf.TensorShape` or list of `ints`. Defaults to `[]`.
      The shape of each value.
    initial_num_buckets: An optional `int`. Defaults to `131072`.
      The initial number of hash table buckets. Must be a power
      to 2.
    max_load_factor: An optional `float`. Defaults to `0.8`.
      The maximum ratio between number of entries and number of
      buckets before growing the table. Must be between 0 and 1.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  MutableDenseHashTableV2r   r   r   r5   rn   rj   rk   N)	r   r   r   r5   rn   rj   rk   r:   r;   r   Frf   rg   )
rh   ri   r5   r   r   r   rn   rj   rk   r:   r4   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   *mutable_dense_hash_table_v2_eager_fallbackrG   rH   rI   r   r   rp   rq   rr   rJ   rK   rL   rs   r   rM   rt   rN   rO   )rh   ri   r5   r   r   r   rn   rj   rk   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                      rZ   mutable_dense_hash_table_v2rN    s   H 
			0h..0$#\\11'y+Y{!6]K1F.Ag n  "";>+I	;7)K!!+}=+"!",,-BD[\K##K?+   ))*=?TUO''9JK/'88!Y/:/:-6/:9N/:7J3B	O!QX QK'""$3<<4mll=)+B  !89;  -}  /ll=)+@ 568Ill,-/F ::L!<B('	.u && -
##At,,## 
	7
[I! 5!{1)$@ @ ## 
s0    (H I H;;III. .JJzraw_ops.MutableDenseHashTableV2c                 n   t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|g }t        j                  |d      }|d}t        j
                  |d	      }|d
}t        j                  |d      }t        j                  | |g|
g       \  }}|\  } }| |g}d|d|d|d|d|d|d	|d|f}t        j                  dd|||
|	      }t        j                         rt        j                  d|||       |\  }|S )Nr5   r   r   r   Fr   rn   rf   rj   rg   rk   r4   s   MutableDenseHashTableV2r^   r_   rL  )rH   rI   r   r   rp   rq   rr   rw   r   rL   rO   )rh   ri   r5   r   r   r   rn   rj   rk   r:   r;   rx   ry   rY   rX   rS   s                   rZ   rM  rM    s   "";>+I	;7)K!!+}=+"!",,-BD[\K##K?+   ))*=?TUO''9JK/'/'F'F	S^G_adfh'i$/$.9k[),M;0+=+}k,.?	&
 7$0C"&(' ""$!<B('	.rc   ) TV_MutableHashTable_key_dtyper   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/   r0   r1   r2   ) TV_MutableHashTable_value_dtyper   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/   r0   r1   r2   c                    t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  | d      } t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d	      }t        j                  d
| |||||      \  }}}	}
|
dd }t        j                         r{d|	j                  d      d|	j                  d      d	|	j                  d	      d|	j                  d      d|	j                  d      f
}|	j                  }t        j                   d
|||       |\  }|S )a  Creates an empty hash table.

  This op creates a mutable hash table, specifying the type of its keys and
  values. Each value must be a scalar. Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
      If true and shared_name is empty, the table is shared
      using the node name.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type mutable `string`.
  Tmutable_hash_table op does not support eager execution. Arg 'table_handle' is a ref.r4   r5   Nr   r   r   Fr   MutableHashTabler   r   r   s                 rZ   mutable_hash_tablerU  7  s   0 
			0h..0$#\\
m
nn  K8)"";>+I	;7)K!!+}=+"!",,-BD[\'88i[&/[2G!%	'!QX
 QK'""$3<<4mll=)+B  !89;  -}  /	1F
 ::LL&';('	.rc   zraw_ops.MutableHashTablec                     t        d      )NrS  r   r   s          rZ   !mutable_hash_table_eager_fallbackrW  t  s    kllrc   ) &TV_MutableHashTableOfTensors_key_dtyper   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/   r0   r1   r2   ) (TV_MutableHashTableOfTensors_value_dtyper   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/   r0   r1   r2   c                 V   t         j                   xs t        j                         }|j                  }|j                  rt	        d      t        j                  | d      } t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d	      }|g }t        j                  |d
      }t        j                  d| ||||||      \  }	}	}
}|dd }t        j                         rd|
j                  d      d|
j                  d      d	|
j                  d	      d|
j                  d      d|
j                  d      d
|
j                  d
      f}|
j                   }t        j"                  d|||       |\  }|S )a  Creates an empty hash table.

  This op creates a mutable hash table, specifying the type of its keys and
  values. Each value must be a vector. Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
    value_shape: An optional `tf.TensorShape` or list of `ints`. Defaults to `[]`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type mutable `string`.
  _mutable_hash_table_of_tensors op does not support eager execution. Arg 'table_handle' is a ref.r4   r5   Nr   r   r   Fr   rn   MutableHashTableOfTensorsr4   r5   r   r   r   rn   r:   )r=   r   r>   r?   r   rH   rI   r   r   rp   rJ   rK   rL   rs   r   rM   rN   rO   )r4   r5   r   r   r   rn   r:   rQ   rR   rU   rV   rW   rS   rX   rY   s                  rZ   mutable_hash_table_of_tensorsr^  z  s   . 
			0h..0$#\\
x
yy  K8)"";>+I	;7)K!!+}=+"!",,-BD[\K##K?+'88#y1</81<;P1<4I!QX QK'""$3<<4mll=)+B  !89;  -}  /ll=)+F ::L#\67D('	.rc   z!raw_ops.MutableHashTableOfTensorsc                     t        d      )Nr[  r   )r4   r5   r   r   r   rn   r:   r;   s           rZ   ,mutable_hash_table_of_tensors_eager_fallbackr`    s    vwwrc   ) (TV_MutableHashTableOfTensorsV2_key_dtyper   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/   r0   r1   r2   ) *TV_MutableHashTableOfTensorsV2_value_dtyper   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/   r0   r1   r2   c                 |   t         j                   xs t        j                         }|j                  }|j                  r&	 t	        j
                  |d|d|d|d|d| d|d|      }	|	S t        j                  | d      } t        j                  |d      }|d
}t        j                  |d      }|d
}t        j                  |d      }|d}t        j                   |d      }|g }t        j"                  |d      }t%        j&                  d| ||||||      \  }}}}|dd }	t        j(                         rd|j+                  d      d|j+                  d      d|j-                  d      d|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)a  Creates an empty hash table.

  This op creates a mutable hash table, specifying the type of its keys and
  values. Each value must be a vector. Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
    value_shape: An optional `tf.TensorShape` or list of `ints`. Defaults to `[]`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  MutableHashTableOfTensorsV2r   r   r   r4   r5   rn   N)r   r   r   r4   r5   rn   r:   r;   r   Fr]  )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   /mutable_hash_table_of_tensors_v2_eager_fallbackrG   rH   rI   r   r   rp   rJ   rK   rL   rs   r   rM   rN   rO   )r4   r5   r   r   r   rn   r:   rQ   rR   rS   rT   rU   rV   rW   rX   rY   s                   rZ    mutable_hash_table_of_tensors_v2rf    sc   . 
			0h..0$#\\
11+T;	{$;{I}]K	1g
 n   K8)"";>+I	;7)K!!+}=+"!",,-BD[\K##K?+'88%3>1:3>=R3>TK!QX QK'""$3<<4mll=)+B  !89;  -}  /ll=)+F ::L%|VWF('	.] && -
##At,,## 
<; 5!{	 
 ## 
s0    $G HG44HHH$ $H;:H;z#raw_ops.MutableHashTableOfTensorsV2c                    t        j                  | d      } t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|d}t        j                  |d      }|g }t        j                  |d      }g }d|d|d|d| d|d|f}	t        j
                  d	d
||	||      }
t        j                         rt        j                  d||	|
       |
\  }
|
S )Nr4   r5   r   r   r   Fr   rn   s   MutableHashTableOfTensorsV2r^   r_   rd  )rH   rI   r   r   rp   r   rL   rO   )r4   r5   r   r   r   rn   r:   r;   rY   rX   rS   s              rZ   re  re    s     K8)"";>+I	;7)K!!+}=+"!",,-BD[\K##K?+,M;0+ym[:& ;Q$0C"&(' ""$%|VWF('	.rc   ) TV_MutableHashTableV2_key_dtyper   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/   r0   r1   r2   ) !TV_MutableHashTableV2_value_dtyper   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/   r0   r1   r2   c                    t         j                   xs t        j                         }|j                  }|j                  r$	 t	        j
                  |d|d|d|d|d| d|      }|S t        j                  | d      } t        j                  |d      }|d	}t        j                  |d      }|d	}t        j                  |d      }|d
}t        j                   |d      }t#        j$                  d| |||||      \  }
}
}}|dd }t        j&                         r{d|j)                  d      d|j)                  d      d|j+                  d      d|j-                  d      d|j-                  d      f
}|j.                  }t        j0                  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 an empty hash table.

  This op creates a mutable hash table, specifying the type of its keys and
  values. Each value must be a scalar. Data can be inserted into the table using
  the insert operations. It does not support the initialization operation.

  Args:
    key_dtype: A `tf.DType`. Type of the table keys.
    value_dtype: A `tf.DType`. Type of the table values.
    container: An optional `string`. Defaults to `""`.
      If non-empty, this table is placed in the given container.
      Otherwise, a default container is used.
    shared_name: An optional `string`. Defaults to `""`.
      If non-empty, this table is shared under the given name across
      multiple sessions.
    use_node_name_sharing: An optional `bool`. Defaults to `False`.
      If true and shared_name is empty, the table is shared
      using the node name.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `resource`.
  MutableHashTableV2r   r   r   r4   r5   Nr   r   Fr   )r=   r   r>   r?   r   r@   rA   rB   rC   rD   rE   $mutable_hash_table_v2_eager_fallbackrG   rH   rI   r   r   rJ   rK   rL   rs   r   rM   rN   rO   r   s                  rZ   mutable_hash_table_v2rm  6  s+   0 
			0h..0$#\\
11"D+y{$;{I}	g
 n   K8)"";>+I	;7)K!!+}=+"!",,-BD[\'88	{(1{4I#'	)!QX
 QK'""$3<<4mll=)+B  !89;  -}  /	1F
 ::LlFG=('	.O && -
##At,,## 
1; 5!$8 8 ## 
r   zraw_ops.MutableHashTableV2c           
         t        j                  | d      } t        j                  |d      }|d}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 )Nr4   r5   r   r   r   Fr   s   MutableHashTableV2r^   r_   rk  r   r   s
             rZ   rl  rl    s      K8)"";>+I	;7)K!!+}=+"!",,-BD[\,M;0+y& 2Al#)s?'""$lFG=('	.rc   )N)r   r   FN)r   r   r   N)__doc__collectionstensorflow.pythonr   tensorflow.python.eagerr   r=   r   rA   r   rH   tensorflow.python.frameworkr   r   tensorflow.security.fuzzing.pyr   _atypesr	   _op_def_registryr
   rC   r   rJ   "tensorflow.python.util.deprecationr   tensorflow.python.utilr   	_dispatch tensorflow.python.util.tf_exportr   typingr   r   r   typing_extensionsr   r   r3   Resourcer[   	to_raw_opr8   rF   rd   re   intfloatru   rm   ro   rz   r{   r   r}   r~   r   r   r   r   r   r   r   strboolStringr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
namedtupler   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  r0  r1  Int64r9  r6  r;  r?  r=  r>  rA  rB  rF  rE  rH  rI  rJ  rN  rL  rM  rP  rQ  rU  rT  rW  rX  rY  r^  r\  r`  ra  rb  rf  rd  re  rh  ri  rm  rk  rl  r8  rc   rZ   <module>r     s  
  6 7 1 7 9 F K 3 I C 8 6 % % '")  #b
 $+  %f
 !3$C 3Rs 3  DM  NQ  SZ  Sc  Sc  Nc  Dd 3j =Y;<^T^^L`=ab 3R   bC   S\  ]`  bi  br  br  ]r  Ss  /6  /z
 +07  1~
 - BD  ^d  |  FJ W)CAl<l2m W  }F  GJ  Lw  Gw  }x W  Gt W  Z] W  v{ W  OX  Y\  ^e  ^n  ^n  Yn  Oo Wr "U+S!TUcUYUcUc  eG  VH  "I 3P{K{A|   LU  VY  [F  VF  LG   VC   gj   }B   R[  \_  ah  aq  aq  \q  Rr 6 *1  *p
 &+2  ,t
 (4,R 4  bJ 4  Zc  dg  ip  iy  iy  dy  Zz 4l KI&IJ>4>>ZvKwx ;a   qY   ir  sv  x  xH  xH  sH  iI  3:  3B /4;  5F 1 uw  ~B <7f <  vg <  GP  QT  V]  Vf  Vf  Qf  Gg <| &]Y/[%\]k]a]k]k  mT  ^U  &V "Fu   Ev   S\  ]`  bi  br  br  ]r  Ss & !  P
 "  T
 70 7?W 7cf 7wz 7  VZ 7  py  z}  F  M  M  zM  pN 7r +I)*>4>>*+EF	e)? eNf esv e  FI e  bf e  v  @C  EL  ES  ES  @S  vT e #  T
 $  X
 G5 GD^ Gjm G  B G  ]a G  w@  AD  FM  FV  FV  AV  wW GR /i-.~t~~m/LM,D Sm z}   MP   im   }F  GJ  LS  L\  L\  G\  }] 2 "  R
 !  R
 9S'..-@#A SVXoSoIp   {D  EH  Ja  Ea  {b , 7)56~t~~FV7WXk)C<O2P kXabeg~b~X k  JS  TW  Yp  Tp  Jq k8)C<O2P 8\efikrkykyfy\z 8  HK 8  Z] 8  jm 8  | 8  MP 8r Oi(MN~t~~^}O~ z3PWP^P^K^A_ zktux  {B  {I  {I  vI  lJ z  WZ z  il z  z} z  JM z  WZ zIYsGDTDT?T5U Iajknpwp~p~k~a I  MP I  _b I  or I  AD I  RU IT !S	*Q RSaSWSaSa  cE  TF  !G IcSZScScNcDd pyz}  @G  @N  @N  {N  qO   \_   nq   B   OR   \_ 0 $  V
 #  V
 !iW5E5E0E&F !iX[]vXvNw !  BK  LO  Qj  Lj  Bk !D ;I9:>4>>J];^_ 	YsGDTDT?T5U 	]fgj  mF  hF  ^G 	  QZ  [^  `y  [y  Qz 	 2;11X 
 %  X
 &   \
 !iW^^0C&D !Mg !  sO !F ;I9:>4>>J];^_ nYsGNN?R5S n\v n  B^ n3[33X 
  '   \
 !(  "`
 /38H8H3H)I /Rn /  zX /b ?i =>~t~~Nd?ef 	#wGWGWBW8X a}   Ig  !  P
 !  R
 "Ic7>>.A$B ")TWYoToJp "  BK  LO  Qh  Lh  Bi "  yB  CF  H_  C_  y` "H 7)56~t~~FW7XYl9S'..=P3Q lYbcfh~c~Y l  QZ  [^  `w  [w  Qx l  HQ  RU  Wn  Rn  Ho l #  T
 #  V
 .yg6F6F1F'G .yY\^vYvOw .  IR  SV  Xq  Sq  Ir .  BK  LO  Qj  Lj  Bk .` ;I9:>4>>J^;_` iWEUEU@U6V ^ghk  nF  iF  _G   Xa  be  g@  b@  XA   QZ  [^  `y  [y  Qz  #  T
 #  V
 iW^^0C&D IVY[sVsLt   H  IL  Ng  Ig  h 0 ;I9:>4>>J];^_ nYsGNN?R5S n[deh  kC  fC  \D n  NW  X[  ]v  Xv  Nw n %  X
 %  Z
 #38H8H3H)I #QZ[^`z[zQ{ #  FO  PS  Up  Pp  Fq #H ?i =>~t~~Nd?ef 		#wGWGWBW8X 	`ijm  pJ  kJ  aK 	  U^  _b  d  _  U@ 	 #  T
 #  V
 iW^^0C&D IVY[sVsLt   H  IL  Ng  Ig  h 0 ;I9:>4>>J];^_ nYsGNN?R5S n[deh  kC  fC  \D n  NW  X[  ]v  Xv  Nw n %  X
 %  Z
 #38H8H3H)I #QZ[^`z[zQ{ #  FO  PS  Up  Pp  Fq #H ?i =>~t~~Nd?ef 		#wGWGWBW8X 	`ijm  pJ  kJ  aK 	  U^  _b  d  _  U@ 	 %  X
 "38H8H3H)I "QZ[^`z[zQ{ "F ?i =>~t~~Nd?ef 	#wGWGWBW8X `ijm  pJ  kJ  aK Ic7>>.A$B R[\_ahanan\nRo 4 7)56~t~~FW7XYl9S'..=P3Q lajknpwp}p}k}a~ l$yg6F6F1F'G $W`adfmfsfsasWt $L ;I9:>4>>J^;_` 
iWEUEU@U6V 
fopsu|  vC  vC  qC  gD 
 &-  &h
 "'.  (l
 $ ^`  rt  QV  df  @F  ^a  hl P	#7Y2Y(Z P  jN P  Z] P  nq P  LP P  | P  X] P  qz  {~  @G  @N  @N  {N  qO Pd C	"AB>4>>RjCkl syFhAh7i s  y] s  jm s  | s  X\ s  @C s  V[ s  kt  ux  zA  zH  zH  uH  kI s (/  (l
 $)0  *p
 & hj  |~  [`  np  JP  hk  rv i9S:^5^+_ inwx{  ~b  yb  oc i  rX i  dg i  x{ i  VZ i  FI i  bg i  {D  EH  JQ  JZ  JZ  EZ  {[ iV G)$EF~t~~VqGrs #)CImDm:n #  ~G  HK  Mq  Hq  ~r #  Ag #  tw #  FI #  bf #  JM #  `e #  u~  B  DK  DT  DT  T  uU #L !(  !^
 ")  #b
 8"? 8Nm 8y| 8  NQ 8  lp 8  FO  PS  U\  Uc  Uc  Pc  Fd 8t 9978HZ9[\ m1N m]| m  JM m  \_ m  x| m  LU  VY  [b  [i  [i  Vi  Lj m *1  *p
 &+2  ,t
 ( []  oq  NS  ac  jn =-S =  cK =  WZ =  kn =  IM =  s|  }@  BI  BP  BP  }P  sQ =~ KI&IJ>4>>ZwKxy x<b x  rZ x  gj x  y| x  UY x  v  @C  EL  ES  ES  @S  vT x ,3  ,t
 (-4  .x
 * bd  vx  UZ  hj  qu O0X O  hR O  ^a O  ru O  PT O  zC  DG  IP  IY  IY  DY  zZ Ob Oi(MN~t~~^~O  A ?g   wa   nq   @C   \`   }F  GJ  LS  L\  L\  G\  }] : #*  #b
 $+  %f
 !I%D ISt I  AD I  UX I  sw I  MV  WZ  \c  \l  \l  Wl  Mm IV =Y;<^T^^La=bc 4S   cD   QT   cf   C   S\  ]`  bi  br  br  ]r  Ss rc   