
    9c/                     z    d dl Z d dlZd dlZd dlmZ  G d dej                  j                  j                        Z	y)    N)	BlockFilec                        e Zd ZdZdgZdZd Zy)GzipValidPluginzK
    Validates gzip compressed data. Almost identical to zlibvalid.py.
    	Signaturei   c                 ,   |j                   r)|j                  j                         j                  d      r| j                  j
                  j                  |j                   j                  |j                  | j                        }|j                  | j                        }|j                          t        t        |d               }d}|dz  s|dz  r||   dk7  r|dz  }||   dk7  r|dz  }d	||d  z   }	 t        j                  t         j"                  j$                  j'                  |             y y y # t        j(                  $ rH}t+        |      }|j                  d
      s"|j                  d      sd|_        Y d }~y Y d }~y Y d }~y d }~ww xY w)Ngzip)offsetlength   
             u   xzError -5zError -3F)filedescriptionlower
startswithmoduleconfig	open_filepathr	   MAX_DATA_SIZEreadcloseintordzlib
decompressbinwalkcorecompat	str2byteserrorstrvalid)selfresultfddataflagsr	   er$   s           ;/usr/lib/python3/dist-packages/binwalk/plugins/gzipvalid.pyscanzGzipValidPlugin.scan   sZ   ;;6--335@@H##--fkk.>.>v}}]a]o]o-pB774--.DHHJ DG%EF %$,6lf,aKF 6lf,! VW-D) 3 3 = =d CD/ I;0 :: )A ''
3E<L<LZ<X#(FLL =Y3)s   9<D8 8F4FFN)__name__
__module____qualname____doc__MODULESr   r.        r-   r   r      s     mGM )r5   r   )
r   binwalk.core.compatr    binwalk.core.pluginbinwalk.core.commonr   r!   pluginPluginr   r4   r5   r-   <module>r;      s-       )))gll))00 ))r5   