+
    |w¼j<  ã                   ó‚   € R t ^ RIt^ RIHtHt ]P
                  ! R4      tR R ltR R ltR R	 lt	R
 R lt
R R ltR# )zÖCustomer identity and PPPoE secret primitives.

Customer code is derived only once from the immutable database primary key.
Passwords are encrypted at rest and are never returned by list, invoice, or
export paths.
N)Údecrypt_secretÚencrypt_secretz^[0-9]{16}$c                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚvalueÚreturn©Ústr)Úformats   "Ú3/var/www/html/bestweb/app/core/customer_identity.pyÚ__annotate__r      s   € ÷ ñ œð ¤ñ ó    c                 ó†   € T ;'       g    R P                  4       p\        P                  V4      '       g   \        R4      hV# )Ú zNIK wajib tepat 16 digit angka)ÚstripÚ_NIKÚ	fullmatchÚ
ValueError)r   Úniks   & r   Úvalidate_nikr      s6   € Ø�;ˆ;�B×
Ñ
Ó
€CÜ�>‰>˜#×ÒÜÐ9Ó:Ð:Ø€Jr   c                ó0   € V ^8„  d   QhR\         R\        /# )r   Úcustomer_idr   )Úintr	   )r
   s   "r   r   r      s   € ÷ $ñ $¤3ð $¬3ñ $r   c                 ó^   € \        V \        4      '       d   V ^8  d   \        R4      hRV R 2# )é   z!ID internal pelanggan tidak validzPLG-Ú07d)Ú
isinstancer   r   )r   s   &r   Úcustomer_code_forr      s1   € Ü�k¤3×'Ò'¨;¸¬?ÜÐ<Ó=Ð=Ø�+˜cÐ"Ð#Ð#r   c                ó0   € V ^8„  d   QhR\         R\         /# ©r   Úcustomer_coder   r   )r
   s   "r   r   r      s   € ÷ ñ ¬#ð ´#ñ r   c                 ó,   € V '       g   \        R 4      hV # )zID pelanggan wajib tersedia)r   ©r    s   &r   Údefault_pppoe_usernamer#      s   € ßÜÐ6Ó7Ð7ØÐr   c                ó0   € V ^8„  d   QhR\         R\         /# r   r   )r
   s   "r   r   r   !   s   € ÷ )ñ )´#ð )¼#ñ )r   c                 ó   € \        V 4      # ©N)r   r"   s   &r   Úencrypt_default_pppoe_passwordr'   !   s   € Ü˜-Ó(Ð(r   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úencrypted_valuer   r   )r
   s   "r   r   r   %   s   € ÷ +ñ +¬Cð +´Cñ +r   c                 ó   € \        V 4      # r&   )r   )r)   s   &r   Údecrypt_pppoe_passwordr+   %   s   € Ü˜/Ó*Ð*r   )Ú__doc__ÚreÚapp.core.secretsr   r   Úcompiler   r   r   r#   r'   r+   © r   r   Ú<module>r1      s9   ðñó 
ç ;à	‡z‚z�.Ó!€õõ$õõ)÷+r   