+
    Xˆ¦jI  ã                   ó¼   € ^ RI Ht ^ RIt^ RIHt ^ RItR tR tR tR t	]P                  P                  R 4       t]P                  P                  R	 4       tR
 tR# )é    )ÚPathN)ÚSimpleNamespacec                  ó(  € ^ RI Hp Hp V! 4       pV Uu0 uF  q3R,          kK  	  ppV0 Rm8X  g   Q hV ! RR4      P                  R8X  g   Q hV ! RR4      P                  R8X  g   Q hV ! R	R
4      P                  R8X  g   Q hV ! RR4      e   Q hR# u upi )r   )Úget_vendor_profileÚvendor_profiles_for_uiÚkeyÚZTEÚC320Úpreview_supportedzC-DATAz
FD1601S-B1Úgrammar_unverifiedÚHuaweiÚMA5800ÚunsupportedÚunknownÚxN>   úzte-c320ú
cdata-fd16ú
nokia-isamúhuawei-ma5800úcdata-fd1601s-b1úfiberhome-an5516)Úapp.core.olt_vendor_profilesr   r   Úexecution_stateÚdiscovery_state)r   r   ÚprofilesÚprofileÚkeyss        Ú'tests\test_multi_vendor_architecture.pyÚ6test_vendor_profiles_cover_the_supported_growth_matrixr      sŸ   € ßWá%Ó'€HÙ*2Ó3©(˜w�E�NˆN©(€DÐ3ØÒtÔtÐtÐtÙ˜e VÓ,×<Ñ<Ð@SÔSÐSÐSÙ˜h¨Ó5×EÑEÐI]Ô]Ð]Ð]Ù˜h¨Ó1×AÑAÀ]ÔRÐRÐRÙ˜i¨Ó-Ò5Ð5Ò5ùò 4s   ”Bc                  óê   € \        \        4      P                  ^,          R,          R,          R,          P                  RR7      p RV 9   g   Q hRV 9   g   Q hRV 9   g   Q hR	V 9   g   Q hR
V 9   g   Q hR# )é   ÚappÚ	templateszadd_customer.htmlúutf-8©Úencodingzname="olt_device_id"zname="mikrotik_device_id"zname="olt_fields_json"ÚvendorProfilesÚsyncOltProfileN©r   Ú__file__ÚparentsÚ	read_text)Útemplates    r   ÚHtest_installation_form_uses_registered_devices_and_dynamic_vendor_fieldsr.      s{   € Ü”X“×&Ñ& qÕ)¨EÕ1°KÕ?ÐBUÕU×`Ñ`ÐjqÐ`Ór€HØ! XÔ-Ð-Ð-Ø&¨(Ô2Ð2Ð2Ø# xÔ/Ð/Ð/Ø˜xÔ'Ð'Ð'Ø˜xÔ'Ð'Ò'ó    c                  óà   € \        \        4      P                  ^,          R,          R,          R,          P                  RR7      p RV 9   g   Q hR F  pRV R2V 9   d   K  Q h	  R	V 9   g   Q hR
# )r!   r"   r#   údevices.htmlr$   r%   zid="panduan-uji"zhref="Ú"z@Tidak menghubungkan atau mengirim konfigurasi ke perangkat fisikN)z/odpsz/service-packagesz/add-customerr)   )r-   Úpaths     r   Ú5test_device_setup_guide_links_the_safe_input_sequencer4      ss   € Ü”X“×&Ñ& qÕ)¨EÕ1°KÕ?À.ÕP×[Ñ[ÐelÐ[Óm€HØ Ô)Ð)Ð)Û?ˆØ˜�v˜QÐ 8Ö+Ð+Ð+ñ @àMÐQYÔYÐYÒYr/   c                  ó¢  € \        \        4      P                  ^,          p V R,          R,          R,          P                  RR7      pV R,          R,          R,          P                  RR7      pVP	                  R4      ^8X  g   Q hR	V9   g   Q hR
V9   g   Q hRV9   g   Q hRV9  g   Q hRV9  g   Q hRV9   g   Q hRV9   g   Q hRV9   g   Q hR# )r!   r"   r#   r1   r$   r%   Úroutesz
devices.pyzTest KoneksiÚshowConnectionTestStartzfetch(form.actionzreturn falseÚshowConnectionTestResultzrole="status"z/test-connectionzB@router.post("/devices/{device_kind}/{device_id}/test-connection")zawait _probe_tcpN)r   r*   r+   r,   Úcount)Úrootr-   r6   s      r   Ú:test_device_registry_exposes_safe_connection_test_controlsr;   %   sá   € Ü”‹>×!Ñ! !Õ$€DØ�u•˜{Õ*¨^Õ;×FÑFÐPWÐFÓX€HØ�U�l˜XÕ%¨Õ4×?Ñ?ÈÐ?ÓQ€FØ�>‰>˜.Ó)¨QÔ.Ð.Ð.Ø$¨Ô0Ð0Ð0Ø (Ô*Ð*Ð*Ø˜XÔ%Ð%Ð%Ø%¨XÔ5Ð5Ð5Ø HÔ,Ð,Ð,Ø Ô)Ð)Ð)ØOÐSYÔYÐYÐYØ Ô'Ð'Ò'r/   c              ƒ   óÜ   aa"  € ^ RI Hp / o ! V3R lR4      oVV3R lpV P                  \        RV4       V! RR4      G Rj  x€L
 w  r4VR	J g   Q hVe   Q hSR
RRR	RR	/8X  g   Q hR#  L%5i)r   )Ú
_probe_tcpc                   ó:   <a € ] tR t^:t o V3R ltV3R ltRtV tR# )Ú<test_tcp_probe_opens_and_closes_a_tcp_socket.<locals>.Writerc                ó   <€ R SR&   R# )TÚclosedN© ©ÚselfÚseens   &€r   ÚcloseÚBtest_tcp_probe_opens_and_closes_a_tcp_socket.<locals>.Writer.close;   s   ø€ Ø!ˆD�‹Nr/   c              “  ó   <"  € R SR&   R# 5i)TÚwaitedNrB   rC   s   &€r   Úwait_closedÚHtest_tcp_probe_opens_and_closes_a_tcp_socket.<locals>.Writer.wait_closed>   s   øé € Ø!ˆD�‹Nùs   ƒrB   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rF   rJ   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__rE   s   @€r   ÚWriterr?   :   s   ù‡ € õ	"÷	"ó 	"r/   rS   c              “   ó:   <"  € W3SR &   \        4       S! 4       3# 5i)Útarget)Úobject)ÚhostÚportrS   rE   s   &&€€r   Úfake_open_connectionÚJtest_tcp_probe_opens_and_closes_a_tcp_socket.<locals>.fake_open_connectionA   s    øé € Ø˜ˆˆX‰Ü‹x™›Ð!Ð!ùs   ƒÚopen_connectionú
192.0.2.10é"  NTrU   rA   rI   )r\   r]   )Úapp.routes.devicesr=   ÚsetattrÚasyncio)Úmonkeypatchr=   rY   ÚokÚdetailrS   rE   s   &    @@r   Ú,test_tcp_probe_opens_and_closes_a_tcp_socketrd   4   s{   ùé € å-à€D÷"ô "ö"ð ×ÑœÐ!2Ð4HÔIÙ! ,°Ó5×5�J€Bà�‹:Ðˆ:ØŠ>Ðˆ>Ø�HÐ2°H¸dÀHÈdÐSÔSÐSÒSñ	 6ùs   „A A,ÁA*Á&A,c              ƒ   ó8  a"  € ^ RI Hp \        ^RRRRR7      o ! V3R lR4      pR	 pV P                  VR
V4       VP	                  R^V! 4       4      G Rj  x€L
 pVP
                  ^È8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hR#  L?5i)r   )ÚdeviceszMIKROTIK-UJIr\   r]   T)ÚidÚnamerW   Úapi_portÚ	is_activec                   ó.   <a € ] tR t^St o V3R ltRtV tR# )ÚFtest_connection_endpoint_returns_json_without_redirect.<locals>.FakeDBc              “  ó   <"  € S# 5i)NrB   )rD   ÚmodelÚ	device_idÚdevices   &&&€r   ÚgetÚJtest_connection_endpoint_returns_json_without_redirect.<locals>.FakeDB.getT   s   øé € ØˆMùs   ƒrB   N)rL   rM   rN   rO   rq   rP   rQ   )rR   rp   s   @€r   ÚFakeDBrl   S   s   ù‡ € ÷	ó 	r/   rs   c              “   ó   "  € R# 5i)T)TNrB   )rW   rX   s   &&r   Ú	connectedÚItest_connection_endpoint_returns_json_without_redirect.<locals>.connectedW   s   é € ØÐùs   ‚r=   ÚmikrotikNzapplication/jsons…   {"ok":true,"message":"MIKROTIK-UJI: port API 192.0.2.10:8728 dapat dijangkau. Tidak ada login atau perubahan konfigurasi perangkat."})Ú
app.routesrf   r   r_   Útest_connectionÚstatus_codeÚ
media_typeÚbody)ra   rf   rs   ru   Úresponserp   s   &    @r   Ú6test_connection_endpoint_returns_json_without_redirectr~   M   s§   øé € å"ä ¨¸\ÐTXÐdhÔi€F÷ô òð ×Ñ˜ ¨yÔ9Ø×,Ñ,¨Z¸¹F»HÓE×E€Hà×Ñ 3Ô&Ð&Ð&Ø×ÑÐ"4Ô4Ð4Ð4Ø�=‰=ð  eô  eð  eò  eñ	 Fùs   ƒABÁBÁA Bc                  óŠ  € ^ RI Hp HpHpHpHpHp \        V R4      '       d   \        V R4      '       g   Q h\        V R4      '       g   Q h\        VR4      '       g   Q h\        VR4      '       g   Q h\        VR4      '       g   Q h\        VR4      '       g   Q h\        VR4      '       g   Q h\        VR4      '       g   Q hR	# )
r   ©ÚCustomerÚODPÚ	OLTDeviceÚMikrotikDeviceÚProvisioningEventÚProvisioningJobÚolt_device_idÚmikrotik_device_idÚolt_fields_jsonÚmanagement_protocolÚcredential_idÚpayload_summaryÚadapter_keyN)Úapp.models.modelsr�   r‚   rƒ   r„   r…   r†   Úhasattrr€   s         r   Ú<test_multi_vendor_models_record_assignments_and_audit_eventsr�   b   s²   € ßn×nä�8˜_×-Ò-´'¸(ÐDX×2YÒ2YÐYÐYÜ�8Ð.×/Ò/Ð/Ð/Ü�3Ð,×-Ò-Ð-Ð-Ü�9Ð3×4Ò4Ð4Ð4Ü�> ?×3Ò3Ð3Ð3Ü�9˜o×.Ò.Ð.Ð.Ü�?Ð$5×6Ò6Ð6Ð6ÜÐ$ m×4Ò4Ð4Ò4r/   )Úpathlibr   r`   Útypesr   Úpytestr   r.   r4   r;   Úmarkrd   r~   r�   rB   r/   r   Ú<module>r•      sk   ðÝ Û Ý !ã ò	6ò(òZò(ð ‡�×ÑñTó ðTð0 ‡�×Ññeó ðeô(
5r/   