
    #)dic                     b    d Z dZdZddlZddZedk    r ej         e                       dS dS )z1Merge content of several hex files into one file.z2.3.0a  hexmerge: merge content of hex files.
Usage:
    python hexmerge.py [options] FILES...

Options:
    -h, --help              this help message.
    -v, --version           version info.
    -o, --output=FILENAME   output file name (emit output to stdout
                            if option is not specified)
    -r, --range=START:END   specify address range for output
                            (ascii hex value). Both values are inclusive.
                            Range can be in form 'START:' or ':END'.
    --no-start-addr         Don't write start addr to output file.
    --overlap=METHOD        What to do when data in files overlapped.
                            Supported variants:
                            * error -- stop and show error message (default)
                            * ignore -- keep data from first file that
                                        contains data at overlapped address
                            * replace -- use data from last file that
                                         contains data at overlapped address

Arguments:
    FILES       list of hex files for merging
                (use '-' to read content from stdin)

You can specify address range for each file in the form:

    filename:START:END

See description of range option above.

You can omit START or END, so supported variants are:

    filename:START:     read filename and use data starting from START addr
    filename::END       read filename and use data till END addr

Use entire file content:

    filename
or
    filename::
    Nc                 (   dd l }d }d }d }d}d}| t          j        dd          } 	 |                    | dg d          \  }} |D ]\  }}	|dv rt	          t
                      dS |dv rt	          t                      dS |d	v r|	}B|d
v r	 |	                    d          }
|
d         dk    rt          |
d         d          }|
d         dk    rt          |
d         d          }# t          t          f$ r |                    d          w xY w|dk    rd}|dk    r|	dv r|	}|                    d          t          |           dk    r|                    d          n# |j        $ rs t          j                    d         }t          j                            t!          |          dz              t          j                            t
          dz              Y dS w xY wdd l}|                                }d }| D ]P}	 |                    |          \  }}}n[# |j        $ rN t          j                            d|z             t          j                            t
          dz              Y  dS w xY w|dk    rt          j        }|                    |          }||fdk    r|| ||                   }	 |                    ||           # |j        $ rr t          j                    d         }t          j                            d|z   dz              t          j                            t!          |          dz              Y  dS w xY w||fdk    r|| ||                   }|t          j        }|                    ||           dS )Nr   Terror   zhvo:r:)helpversionzoutput=zrange=zno-start-addrzoverlap=)z-hz--help)z-vz	--version)z-oz--output)z-rz--range:    zBad range value(s)z--no-start-addrFz	--overlap)r   ignorereplacezBad overlap valuezYou should specify file list
c                     | | dz   S | S )Nr    )addrs    \/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/../../../bin/hexmerge.pyend_addr_inclusivez main.<locals>.end_addr_inclusive   s    !8O    zBad argument: "%s"
-)NNz	Merging: )getoptsysargv
gnu_getoptprintUSAGEVERSIONsplitint
ValueError
IndexErrorGetoptErrorlenexc_infostderrwritestrintelhexIntelHex_get_file_and_addr_range_BadFileNotationstdinmergeAddressOverlapErrorstdoutwrite_hex_file)argsr   outputstartendwrite_start_addroverlapoptsoaler&   resr   ffnamefstartfendihs                       r   mainr@   V   sB   MMMFE
CG|x|(&&tX() () ()* *
d  	B 	BCAa$$$eqq)))gqq((('''CAtrzz #AaD"trzz!!A$mm"J/ C C C ,,-ABBBC'''#(  k!!666GG ,,-@AAA	 " t99>>$$%CDDD     LNN1
Q%%%
t$$$qq	 OOO 



C  
   	"*"C"CA"F"FE644( 	 	 	J3a7888JU4Z(((111	 C<<IEu%%D>\))F--d3334B	IIb'""""+ 	 	 	q!AJ[.t3444JSVVD[)))111		 	s||##%**3///0~v/0001s^   <E$ $E$ ?E$ AC%$E$ %'DAE$ $A9G! G!HAI76I7=KA7MM__main__)N)__doc__r   r   r   r@   __name__exitr   r   r   <module>rE      sr   H 8 7
)	V 


X X X Xv zCHTTVV r   