
    EgR                         d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	  e	e           e	d          k     r e
dez             G d de          Zd	S )
    )Enum)BytesIOKaitaiStreamKaitaiStruct)__version__)parse_versionz0.7zPIncompatible Kaitai Struct Python API: 0.7 or later is required, but you have %sc                   j    e Zd Zd	dZd Z G d de          Z G d de          Zed             Z	dS )
ExifBeNc                 `    || _         || _        |r|n| | _        |                                  d S N_io_parent_root_readselfr   r   r   s       s/var/www/sysmax/venv/lib/python3.11/site-packages/seleniumwire/thirdparty/mitmproxy/contrib/kaitaistruct/exif_be.py__init__zExifBe.__init__   s1    #-UU


    c                 ~    | j                                         | _        | j                                         | _        d S r   )r   	read_u2beversion	read_u4beifd0_ofsr   s    r   r   zExifBe._read   s0    x))++**,,r   c                   2    e Zd ZddZd Zed             ZdS )
ExifBe.IfdNc                 `    || _         || _        |r|n| | _        |                                  d S r   r   r   s       r   r   zExifBe.Ifd.__init__   1    DH"DL"'1TDJJJLLLLLr   c                 (   | j                                         | _        d g| j        z  | _        t	          | j                  D ]0}| j                            | j         | | j                  | j        |<   1| j                                         | _        d S r   )	r   r   
num_fieldsfieldsranger   IfdFieldr   next_ifd_ofs)r   is     r   r   zExifBe.Ifd._read   s    "h0022DO&DO4DK4?++ Q Q!%!4!4TXtTZ!P!PA $ 2 2 4 4Dr   c                    t          | d          rt          | d          r| j        nd S | j        dk    r}| j                                        }| j                            | j                   | j                            | j        | | j                  | _        | j                            |           t          | d          r| j        nd S )N_m_next_ifdr   )hasattrr)   r&   r   posseekr   Ifdr   _poss     r   next_ifdzExifBe.Ifd.next_ifd&   s    t]++ R+24+G+GQt''TQ A%%x||~~d/000#':>>$(D$*#M#M d###'.t]'C'CM4##Mr   NN)__name__
__module____qualname__r   r   propertyr0    r   r   r-   r      sW        	 	 	 		5 	5 	5 

	N 
	N 

	N 
	N 
	Nr   r-   c                       e Zd Z G d de          Z G d de          ZddZd Zed             Z	ed	             Z
ed
             Zed             ZdS )ExifBe.IfdFieldc                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
ExifBe.IfdField.FieldTypeEnum                  	   
   N)r2   r3   r4   byteascii_stringworddwordrational	undefinedslong	srationalr6   r   r   FieldTypeEnumr:   6   s6        DLDEHIEIIIr   rK   c                   h
   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d|Z~d}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d|Z~d}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZÐdZĐdÐZŐdĐZƐdŐZǐdƐZȐdǐZɐdȐZʐdɐZːdʐZ̐dS (  ExifBe.IfdField.TagEnum   i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i(  i)  i,  i-  i1  i2  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iJ  iL  iM  iN  iP  iQ  iR  iS  iT  iU  iV  iW  iX  iY  iZ  i[  i_  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i	  i  i  i  i  i/  i  i  i   i  i  iFG  iGG  iHG  iIG  i p  i2p  i5p  i7p  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i}  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i5  i6  i\  i]  i^  i_  i  i~  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  iF  ih  i  iׅ  i؅  i  i  iI  ii  is  i  i  i  i  i  i  i  i  i  i"  i$  i%  i'  i(  i)  i*  i+  i0  i1  i2  i3  i4  i5  i\  i]  i^  iq  i  i   i  i  i	  i  i  i  i  i  i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i:  i;  i<  i?  i|  i  i  i  i  i/  i0  i1  i\  i   i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i  i  i	  i
  i  i  i   i0  i1  i2  i3  i4  i5  i  i  i   i  i  i¯  iï  iį  iů  i  i  i  i  i  i  i  i  i  i  i¼  iü  iļ  iż  i'  i(  i)  i*  iO  i  is  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i@  iZ  i[  i\  i]  i`  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i%  i&  i@  iA  iN  ia  ic  id  ir  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   iL  iM  iN  iQ  iR  iS  iT  iU  iV  iW  iX  N(  r2   r3   r4   image_widthimage_heightbits_per_samplecompressionphotometric_interpretationthresholding
cell_widthcell_length
fill_orderdocument_nameimage_descriptionmakemodelstrip_offsetsorientationsamples_per_pixelrows_per_stripstrip_byte_countsmin_sample_valuemax_sample_valuex_resolutiony_resolutionplanar_configuration	page_name
x_position
y_positionfree_offsetsfree_byte_countsgray_response_unitgray_response_curve
t4_options
t6_optionsresolution_unitpage_numbercolor_response_unittransfer_functionsoftwaremodify_dateartisthost_computer	predictorwhite_pointprimary_chromaticities	color_maphalftone_hints
tile_widthtile_lengthtile_offsetstile_byte_countsbad_fax_linesclean_fax_dataconsecutive_bad_fax_linessub_ifdink_set	ink_namesnumberof_inks	dot_rangetarget_printerextra_samplessample_formats_min_sample_values_max_sample_valuetransfer_range	clip_pathx_clip_path_unitsy_clip_path_unitsindexedjpeg_tables	opi_proxyglobal_parameters_ifdprofile_typefax_profilecoding_methodsversion_yearmode_numberdecodedefault_image_colort82_optionsjpeg_tables2	jpeg_procthumbnail_offsetthumbnail_lengthjpeg_restart_intervaljpeg_lossless_predictorsjpeg_point_transformsjpegq_tablesjpegdc_tablesjpegac_tablesy_cb_cr_coefficientsy_cb_cr_sub_samplingy_cb_cr_positioningreference_black_whitestrip_row_countsapplication_notesuspto_miscellaneousrelated_image_file_formatrelated_image_widthrelated_image_heightrating
xp_dip_xmlstitch_inforating_percentsony_raw_file_typelight_falloff_params chromatic_aberration_corr_paramsdistortion_corr_paramsimage_id	wang_tag1wang_annotation	wang_tag3	wang_tag4image_reference_pointsregion_xform_tack_pointwarp_quadrilateralaffine_transform_matmatteing	data_typeimage_depth
tile_depthimage_full_widthimage_full_heighttexture_format
wrap_modesfov_cotmatrix_world_to_screenmatrix_world_to_cameramodel2cfa_repeat_pattern_dimcfa_pattern2battery_level	kodak_ifd	copyrightexposure_timef_numbermd_file_tagmd_scale_pixelmd_color_tablemd_lab_namemd_sample_infomd_prep_datemd_prep_timemd_file_unitspixel_scaleadvent_scaleadvent_revisionuic1_taguic2_taguic3_taguic4_tagiptc_naaintergraph_packet_dataintergraph_flag_registersintergraph_matrixingr_reservedmodel_tie_pointsitecolor_sequence
it8_headerraster_paddingbits_per_run_lengthbits_per_extended_run_lengthcolor_tableimage_color_indicatorbackground_color_indicatorimage_color_valuebackground_color_valuepixel_intensity_rangetransparency_indicatorcolor_characterizationhc_usagetrap_indicatorcmyk_equivalentsem_info	afcp_iptcpixel_magic_jbig_optionsjpl_carto_ifdmodel_transformwb_grgb_levels	leaf_dataphotoshop_settingsexif_offseticc_profiletiff_fx_extensionsmulti_profilesshared_datat88_optionsimage_layergeo_tiff_directorygeo_tiff_double_paramsgeo_tiff_ascii_paramsjbig_optionsexposure_programspectral_sensitivitygps_infoisoopto_electric_conv_factor	interlacetime_zone_offsetself_timer_modesensitivity_typestandard_output_sensitivityrecommended_exposure_index	iso_speediso_speed_latitudeyyyiso_speed_latitudezzzfax_recv_paramsfax_sub_addressfax_recv_time	fedex_edrleaf_sub_ifdexif_versiondate_time_originalcreate_dategoogle_plus_upload_codeoffset_timeoffset_time_originaloffset_time_digitizedcomponents_configurationcompressed_bits_per_pixelshutter_speed_valueaperture_valuebrightness_valueexposure_compensationmax_aperture_valuesubject_distancemetering_modelight_sourceflashfocal_lengthflash_energyspatial_frequency_responsenoisefocal_plane_x_resolutionfocal_plane_y_resolutionfocal_plane_resolution_unitimage_numbersecurity_classificationimage_historysubject_areaexposure_indextiff_ep_standard_idsensing_methodcip3_data_file
cip3_sheet	cip3_sidesto_nits
maker_noteuser_commentsub_sec_timesub_sec_time_originalsub_sec_time_digitizedms_document_textms_property_set_storagems_document_text_positionimage_source_dataambient_temperaturehumiditypressurewater_depthaccelerationcamera_elevation_anglexp_title
xp_comment	xp_authorxp_keywords
xp_subjectflashpix_versioncolor_spaceexif_image_widthexif_image_heightrelated_sound_fileinterop_offsetsamsung_raw_pointers_offsetsamsung_raw_pointers_lengthsamsung_raw_byte_ordersamsung_raw_unknownflash_energy2spatial_frequency_response2noise2focal_plane_x_resolution2focal_plane_y_resolution2focal_plane_resolution_unit2image_number2security_classification2image_history2subject_locationexposure_index2tiff_ep_standard_id2sensing_method2file_source
scene_typecfa_patterncustom_renderedexposure_modewhite_balancedigital_zoom_ratiofocal_length_in35mm_formatscene_capture_typegain_controlcontrast
saturation	sharpnessdevice_setting_descriptionsubject_distance_rangeimage_unique_id
owner_nameserial_number	lens_info	lens_make
lens_modellens_serial_numbergdal_metadatagdal_no_datagammaexpand_softwareexpand_lensexpand_filmexpand_filter_lensexpand_scannerexpand_flash_lamppixel_formattransformationuncompressed
image_typeimage_width2image_height2width_resolutionheight_resolutionimage_offsetimage_byte_countalpha_offsetalpha_byte_countimage_data_discardalpha_data_discardoce_scanjob_descoce_application_selectoroce_id_numberoce_image_logicannotationsprint_imoriginal_file_nameuspto_original_content_typedng_versiondng_backward_versionunique_camera_modellocalized_camera_modelcfa_plane_color
cfa_layoutlinearization_tableblack_level_repeat_dimblack_levelblack_level_delta_hblack_level_delta_vwhite_leveldefault_scaledefault_crop_origindefault_crop_sizecolor_matrix1color_matrix2camera_calibration1camera_calibration2reduction_matrix1reduction_matrix2analog_balanceas_shot_neutralas_shot_white_xybaseline_exposurebaseline_noisebaseline_sharpnessbayer_green_splitlinear_response_limitcamera_serial_numberdng_lens_infochroma_blur_radiusanti_alias_strengthshadow_scalesr2_privatemaker_note_safetyraw_image_segmentationcalibration_illuminant1calibration_illuminant2best_quality_scaleraw_data_unique_idalias_layer_metadataoriginal_raw_file_nameoriginal_raw_file_dataactive_areamasked_areasas_shot_icc_profileas_shot_pre_profile_matrixcurrent_icc_profilecurrent_pre_profile_matrixcolorimetric_reference
s_raw_typepanasonic_titlepanasonic_title2camera_calibration_sigprofile_calibration_sigprofile_ifdas_shot_profile_namenoise_reduction_appliedprofile_nameprofile_hue_sat_map_dimsprofile_hue_sat_map_data1profile_hue_sat_map_data2profile_tone_curveprofile_embed_policyprofile_copyrightforward_matrix1forward_matrix2preview_application_namepreview_application_versionpreview_settings_namepreview_settings_digestpreview_color_spacepreview_date_timeraw_image_digestoriginal_raw_file_digestsub_tile_block_sizerow_interleave_factorprofile_look_table_dimsprofile_look_table_dataopcode_list1opcode_list2opcode_list3noise_profile
time_codes
frame_ratet_stop	reel_nameoriginal_default_final_sizeoriginal_best_quality_sizeoriginal_default_crop_sizecamera_labelprofile_hue_sat_map_encodingprofile_look_table_encodingbaseline_exposure_offsetdefault_black_rendernew_raw_image_digestraw_to_preview_gaindefault_user_croppaddingoffset_schemaowner_name2serial_number2lenskdc_ifdraw_file	converterwhite_balance2exposureshadows
brightness	contrast2saturation2
sharpness2
smoothnessmoire_filterr6   r   r   TagEnumrM   @   s	       KL!OK),&LJKJM #DEMK # N #""LL#& IJJL"!$"%JJ!OK"% #HKFMIK%("I NJKL"M N(+%GGIMI NMM!$!$ NI # #GKI$'!LK NLKF"%KLI""$'!'*$$'!LMM#& #& "%$'!" #"%(,%"&#' FJK"N!&#( /4,%*"HI#OII%*"&+#!&#( HIKJ$ %"NJG%*"%*"F%*" L!MII!MHK"N"NK"N L L!MK L#OHHHHH%*"(-% %!M#OD"NJ"N"'+0(K$)!).& %%*"$)!%*"%*"H"N#OHI',$!M#O"NI!&KK!&"NKKK!&%*"$)! L$#( HC(-%I$#O$*/').&I$)!$)!#O#O!MI L L!&K&+#K#( $)!',$(-%"'"N$$)!!&$!M LE L L).&E',$',$*/' L&+#!M L"N"'"N"NJIHJ L L$)!%*"$&+#(-% %"'HHK L%*"HJIKJ$K$ %!&"N*/'*/'%*""'!M*/'F(-%(-%+0(!M',$"N$#O#( #OKJK#O!M!M!&).&!& LHJI).&%*"#OJ!MIIJ!&!M LE#OKK!&"N % L"N LJ L!M$ % L$ L$!&!&$',$!M#OKH!&*/'K#( "'%*"#OJ"'%*"K"'"'K!M"' %!M!M"'"' % %"N#O$ %"N!& %$)!#( !M!&"' LK %%*"&+#&+#!&!&#( %*"%*"K L"').&"').&%*"J#O$%*"&+#K#( &+# L',$(-%(-%!&#(  %#O#O',$*/'$)!&+#"' %$',$"'$)!&+#&+# L L L!MJJFI*/').&).& L+0(*/'',$#( #( "' %G!MK"NDGHI"NHGJIKJJ LLLr   r  Nc                 `    || _         || _        |r|n| | _        |                                  d S r   r   r   s       r   r   zExifBe.IfdField.__init__  r    r   c                 j   | j         j                            | j                                                  | _        | j         j                            | j                                                  | _        | j                                        | _	        | j                                        | _
        d S r   )r   r%   r  r   r   tagrK   
field_typer   lengthofs_or_datar   s    r   r   zExifBe.IfdField._read  s    z*22483E3E3G3GHHDH"j1??@R@R@T@TUUDO(,,..DK#x1133Dr   c                    t          | d          rt          | d          r| j        nd S | j        | j        j        j        j        k    rdn"| j        | j        j        j        j        k    rdnd| _        t          | d          r| j        nd S )N_m_type_byte_lengthr<   r>   r;   )r*   r!  r  r   r%   rK   rE   rF   r   s    r   type_byte_lengthz ExifBe.IfdField.type_byte_length  s    t233 b3:4AV3W3Wat//]aa-1_
@S@a@f-f-frv  sB  FJ  FP  FY  Fg  Fm  sm  smmnmn  stD$/6t=R/S/S]4++Y]]r   c                     t          | d          rt          | d          r| j        nd S | j        | j        z  | _        t          | d          r| j        nd S )N_m_byte_length)r*   r$  r  r"  r   s    r   byte_lengthzExifBe.IfdField.byte_length  se    t-.. X.5d<L.M.MWt**SWW#';1F#FD*1$8H*I*IS4&&tSr   c                     t          | d          rt          | d          r| j        nd S | j        dk    | _        t          | d          r| j        nd S )N_m_is_immediate_datar>   )r*   r'  r%  r   s    r   is_immediate_dataz!ExifBe.IfdField.is_immediate_data'  sd    t344 d4;DBX4Y4Yct00_cc(,(8A(=D%07>T0U0U_4,,[__r   c                 p   t          | d          rt          | d          r| j        nd S | j        sn| j        j        }|                                }|                    | j                   |                    | j	                  | _        |                    |           t          | d          r| j        nd S )N_m_data)
r*   r*  r(  r   r   r+   r,   r  
read_bytesr%  )r   ior/   s      r   datazExifBe.IfdField.data/  s    tY'' J'.tY'?'?It||TI* Z^vvxx()))!}}T-=>>#*4#;#;E4<<Er   r1   )r2   r3   r4   r   rK   r  r   r   r5   r"  r%  r(  r-  r6   r   r   r%   r8   4   s       	 	 	 	 	D 	 	 	J	! J	! J	! J	! J	!d J	! J	! J	!V	 	 	 		4 	4 	4 
	^ 	^ 
	^ 
	T 	T 
	T 
	` 	` 
	` 
	F 	F 
	F 	F 	Fr   r%   c                    t          | d          rt          | d          r| j        nd S | j                                        }| j                            | j                   | j                            | j        | | j                  | _        | j                            |           t          | d          r| j        nd S )N_m_ifd0)r*   r/  r   r+   r,   r   r   r-   r.   s     r   ifd0zExifBe.ifd0>  s    4## 	F#*4#;#;E4<<Ex||~~dm$$$z~~dhdjAAd&tY77At||TAr   r1   )
r2   r3   r4   r   r   r   r-   r%   r5   r0  r6   r   r   r
   r
      s           - - -N N N N Nl N N N:GF GF GF GF GF< GF GF GFT B B XB B Br   r
   N)enumr   kaitaistructr   r   r   r   
ks_versionpkg_resourcesr   	Exceptionr
   r6   r   r   <module>r6     s          < < < < < < < < < < 2 2 2 2 2 2 ' ' ' ' ' '=}}U3333
)fjtu
v
vv{B {B {B {B {B\ {B {B {B {B {Br   