
    קg                         U d dl Z d dlZd dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ d Zd Zd Zi Zeed	<   i Zeed
<   i Zeed<   i Zeed<   dS )    N)ImporterOrderedImporterPackageImportersys_importer)create_pickler)PackageUnpickler)_maybe_decode_asciic                 f   g g t          | t          j        j                  r| nd } | t	          | t
                    nt
          fd}t          j                    }t          |          }||_	        |
                    |           |                                }|| r| j        nd fS )Nc                 j   t          j        |           st          | t           j        j                  rqt          | t           j        j                  r| j        }nt           j        }                    |                                |           dt                    dz
  fS t          | d          r}t                              t          |                     <dt          |           g|                               R t          t          |           <   t          t          |                    S d S )Nstorage   __reduce_deploy__reduce_deploy)torch
is_storage
isinstancer   TypedStoragedtypeuint8appendlenhasattr_serialized_reducesgetidr   )objr   	importersserialized_dtypesserialized_storagess     I/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/_deploy.pypersistent_idz%_save_storages.<locals>.persistent_id   s   C   
	=JsEM4N$O$O 
	=#u}9:: $ 	&&s+++$$U+++s#677!;<<3+,, 	0"&&r#ww//7#sGG0 **9550 0#BsGG,
 'r#ww//t    )r   r   packager   r   r   ioBytesIOr   r!   dumpgetvalue
zip_reader)	importerr   r!   data_bufpickler
data_valuer   r   r   s	         @@@r    _save_storagesr-      s    %h0MNNXxxTXH#Hl;;		 	      2 z||HXy11G)GLL""$$J'1T	 r"   c                     fd}#t          t                    t                    }nt          }t          |t	          j        |                    }||_        |                                x}t          | <   |S )Nc                    t          | t                    sJ t          | d                   }| dd          }|dk    rO	|d                  }|d                  }t          j                            |                                |          S |dk    r8|\  }}}|t          vr |t          
         g|R  t          |<   t          |         S d S )Nr   r   r   )wrap_storager   r   )	r   tupler	   r   r   r   untyped_loaded_reduces_raw_packages)saved_idtypenamedatar   r   	reduce_idfuncargsr   r   r(   s           r    persistent_loadz'_load_storages.<locals>.persistent_load=   s    (E*****&x{33|y   *$q'2G%d1g.E=--$__..e .    &&$(!ItT//-1T-
2K-Sd-S-S-S	*"9--tr"   )	r   _get_packager   r   r$   r%   r;   load_deploy_objects)	r   r(   	obj_bytesr   r   r;   r)   	unpicklerresults	    ` ``    r    _load_storagesrB   <   s          . "<
#;#;\JJ 2:i+@+@AAI /I#,>>#3#33F_R Mr"   c                 \    | t           vrt          |           t           | <   t           |          S )N)r4   r   )r(   s    r    r<   r<   _   s*    &&$3J$?$?j!$$r"   r4   r>   r   r3   )r$   r   torch.packager   r   r   r   torch.package._package_picklerr    torch.package._package_unpicklerr   torch.serializationr	   r-   rB   r<   r4   dict__annotations__r>   r   r3    r"   r    <module>rK      s    					  R R R R R R R R R R R R 9 9 9 9 9 9 = = = = = = 3 3 3 3 3 3. . .b     F% % % t       T        r"   