
    ,j                     J    d dl Z d dlZd dlZd dlmZ d dlmZ  G d de      Zy)    N)General)Loggerc                   r     e Zd ZdZdZddgddgdZdZdZd	Zd
Z	dZ
ddddddddZg dZdd fdZd Z xZS )Houdini
libhoudinisystemzvhttps://github.com/supremegamers/vendor_intel_proprietary_houdini/archive/81f2a51ef539a35aead396ab7fce2adf89f46e88.zip fbff756612b4144797fbc99eadcb6653zvhttps://github.com/supremegamers/vendor_intel_proprietary_houdini/archive/9e77896350caccd228b36b2e1b4a994aa4bd48da.zip 3807fe029559db3037efe245d9e74270)1113.zlibhoudini.zipz/tmp/houdiniunpacka  
on early-init
    mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc

on property:ro.enable.native.bridge.exec=1
    exec -- /system/bin/sh -c "echo ':arm_exe:M::\\x7f\\x45\\x4c\\x46\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x28::/system/bin/houdini:P' > /proc/sys/fs/binfmt_misc/register"
    exec -- /system/bin/sh -c "echo ':arm_dyn:M::\\x7f\\x45\\x4c\\x46\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x28::/system/bin/houdini:P' >> /proc/sys/fs/binfmt_misc/register"
    exec -- /system/bin/sh -c "echo ':arm64_exe:M::\\x7f\\x45\\x4c\\x46\\x02\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\xb7::/system/bin/houdini64:P' >> /proc/sys/fs/binfmt_misc/register"
    exec -- /system/bin/sh -c "echo ':arm64_dyn:M::\\x7f\\x45\\x4c\\x46\\x02\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\xb7::/system/bin/houdini64:P' >> /proc/sys/fs/binfmt_misc/register"
z(x86_64,x86,arm64-v8a,armeabi-v7a,armeabizx86,armeabi-v7a,armeabizx86_64,arm64-v8azlibhoudini.so1x86x86_64)zro.product.cpu.abilistzro.product.cpu.abilist32zro.product.cpu.abilist64zro.dalvik.vm.native.bridgezro.enable.native.bridge.execzro.dalvik.vm.isa.armzro.dalvik.vm.isa.arm64)
zbin/armz	bin/arm64zbin/houdinizbin/houdini64zetc/binfmt_misczetc/init/houdini.rczlib/armzlib/libhoudini.sozlib64/arm64zlib64/libhoudini.soc                 ~    t         |           | j                  |   d   | _        | j                  |   d   | _        y )Nr      )super__init__dl_linksdl_linkact_md5)selfandroid_version	__class__s     -/home/ubuntu/waydroid_script/stuff/houdini.pyr   zHoudini.__init__3   s8    }}_5a8}}_5a8    c                    t        j                  d       t        j                  d| j                        d   }t        j                  t        j                  j                  | j                  d|z   d      t        j                  j                  | j                  | j                        d       t        j                  j                  | j                  | j                  dd	d
      }t        j                  j                  |      s4t        j                  t        j                  j                  |      d       t!        |d      5 }|j#                  | j$                         d d d        y # 1 sw Y   y xY w)Nz$Copying libhoudini library files ...z([a-zA-Z0-9]+)\.zipr   z!vendor_intel_proprietary_houdini-	prebuiltsT)dirs_exist_oketcinitz
houdini.rc)exist_okw)r   inforefindallr   shutilcopytreeospathjoin
extract_tocopy_dir	partitionisfilemakedirsdirnameopenwriteinit_rc_component)r   name	init_pathinitfiles       r   copyzHoudini.copy8   s    :;zz/>qAT__6Y\`6`#%&(ggll4==$..&Qae	gGGLLMM4>>5&,H	ww~~i(KK	2TB)S! 	3XNN4112	3 	3 	3s   E**E3)r   )returnN)__name__
__module____qualname__idr-   r   r   r   dl_file_namer+   r3   apply_propsfilesr   r7   __classcell__)r   s   @r   r   r      s    	BI H  Jl  m H  Jl  mH GG#L%J	 #M$=$6&5(+ %"*KE9

3r   r   )r(   r$   r&   stuff.generalr   tools.loggerr   r    r   r   <module>rD      s     	 	  ! :3g :3r   