yo4hddlZddlmZddlmZddlmZddlmZddl m Z ee Z edZ e dz ZeZd ed ee je je jfd efd Zd edefdZd efdZdZdS)N) getLogger)Path)Literal)ANTIVIRUS_MODE)Scopez/var/imunify360z.persistent_state lock_filescopereturnc>td|dz }|tjkrt|nc|tjkr"t rt|n1|tjkr!t st||S)z%Register lock file for further usage..z.lock)PERSISTENT_STATE_DIRrAV_IM360 LOCK_FILESaddAVrIM360)rr _lock_files \/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/subsys/persistent_state.pyregister_lock_filers&(t}||dz }|rm tj|dS#tjt tf$r&}t d||Yd}~nd}~wwxYwtS)z3Load state from a file in .persistent_state folder.rrzFailed to load state: %s %sN) r existsrloadr!JSONDecodeErrorr#UnicodeDecodeErrorr$r%dict)rr&r'r(s r load_stater1*s'K3333IG G9Y^^C0011 1$g/AB G G G LL6 A F F F F F F F F G 66Ms&A B(B  BcztdD]}|tvr| dS)z;Remove all unused lock files from .persistent_state folder.z*.lockN)r globrunlink)rs rremove_unused_locksr58sG)..x88 J & &      r)rloggingrpathlibrtypingr defence360agent.contracts.configr!defence360agent.contracts.pluginsr__name__r$BASE_DIRr setrstrrrrrr0r)r1r5rrr@s: ;;;;;;333333 8   4! " ""55 SUU   "58U[%.#HI       C3 C C C C C d    r