计算机网络学习指南计算机网络学习指南
首页
基础教程
进阶内容
实战案例
编程指南
首页
基础教程
进阶内容
实战案例
编程指南
  • 进阶内容

    • 🚀 进阶内容
    • 🎯 学习目标
    • 🚀 学习路线
    • 📊 章节概览
  • 💡 学习建议
  • 🎓 学完之后
  • 第1章 - TCP 三次握手与四次挥手
  • 第2章 - 负载均衡原理
  • 第3章 - CDN 内容分发网络
  • 第4章 - VPN 与代理
  • 第5章 - 网络安全基础

��#� �,{5��z �-� �Q�~�[hQ�W@x � ��U,� g�S!� � �(W�NT�Q�e�N,���Q�~�[hQ*���]�~b:N�kN��S����{�sQ�l�v݋��0 N��O/fMR�z0T�z؏/fЏ�~,����S��b�4NT�yQ�~�[hQZ��0�N!k�[hQom�S���[�penc�l2�0 g�R+v�u,�u��l�_#��N0 � ��N)Yb�Negf[N�g8^���v*��Q�~;e�Q���T��2��_�c�e��,���O�v�^(u�f�R�[hQ�S�0ُ�N�wƋ(W�[E��]\O-N^�8^�[(u,�_N/fb�Ջ�vؚ����p0 � �#�#� �>�� �:N�NHN��sQ�lQ�~�[hQ?� � �#�#�#� �w�[Hh�O � ���Hh�O1�:� �S�Q�L��leQ�[�penc�l2��� �=ؔ� ���� ��g5uFUQ�z�VS�Q�L��leQom,� �1�0�0�0�N(u7bpenc���z�S,� �S�b�Y T0Kb:g�S00W@W.�.�.� �_c1Y:� �T�Pё �+� �Z>k �+� ��O�� �=� �peCSN ���� � ���Hh�O2�:� �D�D�o�S�;e�Q�[� g�R+v�u�� �=إ� ���� ��g8nblQ�Sm��SD�D�o�S�;e�Q,� � g�RhV��Sb�W,�8nb�e�l{vU_,� �c�~3�\�e,�q_�T~vN�s�[,� ��v�c�~Nm_c1Ype~vN0 ���� � ���Hh�O3�:� �X�S�S�;e�Q�z�S(u7b�Oo*�*� �<أ� ���� ��g>y�NQ�zX[(WX�S�S�om,� �ў�[�leQva�,g,� ��z�S(u7bC�o�o�k�i�e��TT�o�k�e�n�,� ��[�&��S���v0 ���� � �#�#�#� ��[hQ�v͑��' � �:�:�:� �t�i�p� ��[hQ,{�N �*�*��[hQ/f�^�~*�*�,��R���S�Nbaba�[�U,�FO�[hQ��N�e�Q�s,�T�g N*X���:� �-� �=ذ� ����~Nm_c1Y��:�T�P0Z>k0N�R_c1Y �-� �=��� ����O��_c1Y��:�(u7bAm1Y0�TLr�S_c �-� ��&� ����l�_#��N��:�ݏ�Spenc�O�b�l�S����w�ɋ �-� �=�0� ����_t�S�R��:��_�S�0lQ�Sb�S�]'Y�S�R �:�:�:� � �#�#� ��&� �8^��Q�~;e�Q � �#�#�#� �1�.� �S�Q�L��leQ �(�S�Q�L� �I�n�j�e�c�t�i�o�n�)� � ����St��:�;e�Q�(W��eQ-N�leQS�Q�L��Nx,�9e�S�g�;���0 � ��� N�[hQ�v�Nx��:� ����j�a�v�a�s�c�r�i�p�t� �/�/� �L' �qSi�!��v�c�b�cS�Q�L� �c�o�n�s�t� �u�s�e�r�n�a�m�e� �=� �r�e�q�.�b�o�d�y�.�u�s�e�r�n�a�m�e�;� � �/�/� �(u7b��eQ:� �a�d�m�i�n�'� �O�R� �'�1�'�=�'�1� �c�o�n�s�t� �p�a�s�s�w�o�r�d� �=� �r�e�q�.�b�o�d�y�.�p�a�s�s�w�o�r�d�;� � �/�/� �(u7b��eQ:� �a�n�y�t�h�i�n�g� � �c�o�n�s�t� �s�q�l� �=� ��S�E�L�E�C�T� �� �F�R�O�M� �u�s�e�r�s� �W�H�E�R�E� �u�s�e�r�n�a�m�e�=�'�$�{�u�s�e�r�n�a�m�e�}�'� �A�N�D� �p�a�s�s�w�o�r�d�=�'�$�{�p�a�s�s�w�o�r�d�}�'��;� �/�/� ��[E�gbL��vS�Q�L�:� �/�/� �S�E�L�E�C�T� �*� �F�R�O�M� �u�s�e�r�s� �W�H�E�R�E� �u�s�e�r�n�a�m�e�=�'�a�d�m�i�n�'� �O�R� �'�1�'�=�'�1�'� �A�N�D� �p�a�s�s�w�o�r�d�=�'�a�n�y�t�h�i�n�g�'� �/�/� �'�1�'�=�'�1�'� �8l܏:Nw,��~Ǐ�[x����!� �=؀� � �d�b�.�q�u�e�r�y�(�s�q�l�,� �(�e�r�r�,� �r�e�s�u�l�t�)� �=�>� �{� � � �i�f� �(�r�e�s�u�l�t�.�l�e�n�g�t�h� �>� �0�)� �{� � � � � �/�/� �{vU_b�R!� �(�FO�[E�/f��;e�Q�N)� � � �}� �}�)�;� ���� � ���;e�Q:y�O*��:� ����s�q�l� �-�-� � Rd�te*Nh� �u�s�e�r�n�a�m�e�:� �a�d�m�i�n�'�;� �D�R�O�P� �T�A�B�L�E� �u�s�e�r�s�;� �-�-� � �-�-� ����S@b g(u7b �u�s�e�r�n�a�m�e�:� �'� �O�R� �'�1�'�=�'�1�'� �-�-� � �-�-� ����S�{tXTCgP� �u�s�e�r�n�a�m�e�:� �a�d�m�i�n�'� �O�R� �r�o�l�e�=�'�a�d�m�i�n�'� �-�-� ���� � ����[hQ�v�Nx�� �':� ����j�a�v�a�s�c�r�i�p�t� �/�/� �' �O(u�SpeS�g� �c�o�n�s�t� �s�q�l� �=� �'�S�E�L�E�C�T� �*� �F�R�O�M� �u�s�e�r�s� �W�H�E�R�E� �u�s�e�r�n�a�m�e� �=� �?� �A�N�D� �p�a�s�s�w�o�r�d� �=� �?�'�;� �d�b�.�q�u�e�r�y�(�s�q�l�,� �[�u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d�]�,� �(�e�r�r�,� �r�e�s�u�l�t�)� �=�>� �{� � � �/�/� ��SpeO��cknxl�IN,�S�Q�L��leQ�eHe �}�)�;� � �/�/� �' �O(uO�R�M�(��YS�e�q�u�e�l�i�z�e�)� �c�o�n�s�t� �u�s�e�r� �=� �a�w�a�i�t� �U�s�e�r�.�f�i�n�d�O�n�e�(�{� � � �w�h�e�r�e�:� �{� � � � � �u�s�e�r�n�a�m�e�:� �u�s�e�r�n�a�m�e�,� � � � � �p�a�s�s�w�o�r�d�:� �p�a�s�s�w�o�r�d� � � �}� �}�)�;� � �/�/� �' �O(up�r�e�p�a�r�e�d� �s�t�a�t�e�m�e�n�t� �c�o�n�s�t� �s�t�m�t� �=� �d�b�.�p�r�e�p�a�r�e�(�'�S�E�L�E�C�T� �*� �F�R�O�M� �u�s�e�r�s� �W�H�E�R�E� �u�s�e�r�n�a�m�e� �=� �?� �A�N�D� �p�a�s�s�w�o�r�d� �=� �?�'�)�;� �c�o�n�s�t� �r�e�s�u�l�t� �=� �s�t�m�t�.�g�e�t�(�u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d�)�;� ���� � �#�#�#� �2�.� ���z�,g;e�Q �(�X�S�S� �-� �C�r�o�s�s�-�S�i�t�e� �S�c�r�i�p�t�i�n�g�)� � ����St��:�;e�Q��leQvaJ�a�v�a�S�c�r�i�p�t��Nx0RQu�,�(WvQ�N(u7bOmȉ�egbL�0 � �*�*�X�S�S�{|�W*�*�:� � �#�#�#�#� ��S\�WX�S�S� � ����h�t�m�l� �<�!�-�-� � N�[hQ�v�Nx �-�-�>� �<�d�i�v�>� � � �d"}�~�g:� �<�%�=� �s�e�a�r�c�h�Q�u�e�r�y� �%�>� � �<�!�-�-� ��v�c���Q(u7b��eQ �L' �-�-�>� �<�/�d�i�v�>� � �<�!�-�-� �;e�Q��g �U�R�L� �-�-�>� �h�t�t�p�s�:�/�/�e�x�a�m�p�l�e�.�c�o�m�/�s�e�a�r�c�h�?�q�=�<�s�c�r�i�p�t�>�a�l�e�r�t�(�d�o�c�u�m�e�n�t�.�c�o�o�k�i�e�)�<�/�s�c�r�i�p�t�>� � �<�!�-�-� �2n�g�~�g �-�-�>� �<�d�i�v�>� � � �d"}�~�g:� �<�s�c�r�i�p�t�>�a�l�e�r�t�(�d�o�c�u�m�e�n�t�.�c�o�o�k�i�e�)�<�/�s�c�r�i�p�t�>� � �<�!�-�-� ��,gOgbL�!� �=؀� �-�-�>� �<�/�d�i�v�>� ���� � �#�#�#�#� �X[�P�WX�S�S� � ����j�a�v�a�s�c�r�i�p�t� �/�/� �(u7b�Sh�ċ�� �c�o�m�m�e�n�t�:� �'�<�s�c�r�i�p�t�>�f�e�t�c�h�(�"�h�t�t�p�s�:�/�/�e�v�i�l�.�c�o�m�?�c�o�o�k�i�e�=�"�+�d�o�c�u�m�e�n�t�.�c�o�o�k�i�e�)�<�/�s�c�r�i�p�t�>�'� � �/�/� �X[�P0Rpenc�^ �d�b�.�s�a�v�e�(�{� �c�o�n�t�e�n�t�:� �c�o�m�m�e�n�t� �}�)�;� � �/�/� �L' ��v�cX[�P � �/�/� �vQ�N(u7bOmȉċ���e,��,gOgbL�,�C�o�o�k�i�e����z�S!� �=؀� ���� � �*�*�2��_�c�e*�*� �':� � ����j�a�v�a�s�c�r�i�p�t� �/�/� �1�.� �l�INH�T�M�L�yr�kW[&{ �f�u�n�c�t�i�o�n� �e�s�c�a�p�e�H�t�m�l�(�t�e�x�t�)� �{� � � �c�o�n�s�t� �m�a�p� �=� �{� � � � � �'�&�'�:� �'�&�a�m�p�;�'�,� � � � � �'�<�'�:� �'�&�l�t�;�'�,� � � � � �'�>�'�:� �'�&�g�t�;�'�,� � � � � �'�"�'�:� �'�&�q�u�o�t�;�'�,� � � � � �"�'�"�:� �'�&�#�0�3�9�;�'� � � �}�;� � � �r�e�t�u�r�n� �t�e�x�t�.�r�e�p�l�a�c�e�(�/�[�&�<�>�"�'�]�/�g�,� �m� �=�>� �m�a�p�[�m�]�)�;� �}� � �c�o�n�s�t� �s�a�f�e�O�u�t�p�u�t� �=� �e�s�c�a�p�e�H�t�m�l�(�u�s�e�r�I�n�p�u�t�)�;� � �/�/� �2�.� �O(uR�e�a�c�t�/�V�u�e�(�ꁨRl�IN)� �/�/� �R�e�a�c�t� �<�d�i�v�>�{�u�s�e�r�I�n�p�u�t�}�<�/�d�i�v�>� � �/�/� �' �ꁨRl�IN � �/�/� �V�u�e� �<�d�i�v�>�{�{� �u�s�e�r�I�n�p�u�t� �}�}�<�/�d�i�v�>� � �/�/� �' �ꁨRl�IN � �/�/� �3�.� ���nC�o�n�t�e�n�t� �S�e�c�u�r�i�t�y� �P�o�l�i�c�y� �(�C�S�P�)� �r�e�s�.�s�e�t�H�e�a�d�e�r�(� � � �'�C�o�n�t�e�n�t�-�S�e�c�u�r�i�t�y�-�P�o�l�i�c�y�'�,� � � �"�d�e�f�a�u�l�t�-�s�r�c� �'�s�e�l�f�'�;� �s�c�r�i�p�t�-�s�r�c� �'�s�e�l�f�'�"� �)�;� � �/�/� �4�.� �O(uH�T�T�P�-�o�n�l�y� �C�o�o�k�i�e� �r�e�s�.�c�o�o�k�i�e�(�'�s�e�s�s�i�o�n�'�,� �t�o�k�e�n�,� �{� � � �h�t�t�p�O�n�l�y�:� �t�r�u�e�,� � �/�/� �J�a�v�a�S�c�r�i�p�t��e�l���S � � �s�e�c�u�r�e�:� �t�r�u�e�,� � � � �/�/� ��S(WH�T�T�P�S� N O�� � � �s�a�m�e�S�i�t�e�:� �'�s�t�r�i�c�t�'� �}�)�;� ���� � �#�#�#� �3�.� ���z��Bl*O � �(�C�S�R�F� �-� �C�r�o�s�s�-�S�i�t�e� �R�e�q�u�e�s�t� �F�o�r�g�e�r�y�)� � �*�*��St*�*�:�;e�Q���[(u7b���vaQ�z,�)R(u(u7b�v{vU_�r�Sw�^��l��Bl0 � �*�*�;e�Q:Wof*�*�:� � ����h�t�m�l� �<�!�-�-� �(u7b�]{vU_ �b�a�n�k�.�c�o�m� �-�-�>� �<�!�-�-� �;e�Q��g �vau�b� �e�v�i�l�.�c�o�m� �-�-�>� �<�!�D�O�C�T�Y�P�E� �h�t�m�l�>� �<�h�t�m�l�>� �<�b�o�d�y�>� � � �<�!�-�-� ���υ�vh�US,�ꁨR�c�N �-�-�>� � � �<�f�o�r�m� �a�c�t�i�o�n�=�"�h�t�t�p�s�:�/�/�b�a�n�k�.�c�o�m�/�t�r�a�n�s�f�e�r�"� �m�e�t�h�o�d�=�"�P�O�S�T�"� �i�d�=�"�h�a�c�k�"�>� � � � � �<�i�n�p�u�t� �t�y�p�e�=�"�h�i�d�d�e�n�"� �n�a�m�e�=�"�t�o�"� �v�a�l�u�e�=�"�a�t�t�a�c�k�e�r�"�>� � � � � �<�i�n�p�u�t� �t�y�p�e�=�"�h�i�d�d�e�n�"� �n�a�m�e�=�"�a�m�o�u�n�t�"� �v�a�l�u�e�=�"�1�0�0�0�0�"�>� � � �<�/�f�o�r�m�>� � � � � � �<�s�c�r�i�p�t�>� � � � � �d�o�c�u�m�e�n�t�.�g�e�t�E�l�e�m�e�n�t�B�y�I�d�(�'�h�a�c�k�'�)�.�s�u�b�m�i�t�(�)�;� � �/�/� �ꁨR�c�N � � �<�/�s�c�r�i�p�t�>� � � � � � �<�!�-�-� �bO(ui�m�g�h~{ �-�-�>� � � �<�i�m�g� �s�r�c�=�"�h�t�t�p�s�:�/�/�b�a�n�k�.�c�o�m�/�t�r�a�n�s�f�e�r�?�t�o�=�a�t�t�a�c�k�e�r�&�a�m�o�u�n�t�=�1�0�0�0�0�"� �s�t�y�l�e�=�"�d�i�s�p�l�a�y�:�n�o�n�e�"�>� �<�/�b�o�d�y�>� �<�/�h�t�m�l�>� � �<�!�-�-� �(u7b���e�v�i�l�.�c�o�m�,���1\��l�p��N!� �=؀� �-�-�>� ���� � ���2��_�c�e�� �':� � ����j�a�v�a�s�c�r�i�p�t� �/�/� �1�.� �O(uC�S�R�F� �T�o�k�e�n� �c�o�n�s�t� �c�s�r�f� �=� �r�e�q�u�i�r�e�(�'�c�s�u�r�f�'�)�;� �c�o�n�s�t� �c�s�r�f�P�r�o�t�e�c�t�i�o�n� �=� �c�s�r�f�(�{� �c�o�o�k�i�e�:� �t�r�u�e� �}�)�;� � �a�p�p�.�g�e�t�(�'�/�f�o�r�m�'�,� �c�s�r�f�P�r�o�t�e�c�t�i�o�n�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �/�/� �ubC�S�R�F� �T�o�k�e�n� � � �r�e�s�.�r�e�n�d�e�r�(�'�f�o�r�m�'�,� �{� �c�s�r�f�T�o�k�e�n�:� �r�e�q�.�c�s�r�f�T�o�k�e�n�(�)� �}�)�;� �}�)�;� � �a�p�p�.�p�o�s�t�(�'�/�t�r�a�n�s�f�e�r�'�,� �c�s�r�f�P�r�o�t�e�c�t�i�o�n�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �/�/� �����C�S�R�F� �T�o�k�e�n� � � �/�/� ��Y�gt�o�k�e�n��eHe,�ꁨRԏ�V4�0�3� � � �p�r�o�c�e�s�s�T�r�a�n�s�f�e�r�(�r�e�q�.�b�o�d�y�)�;� �}�)�;� � �/�/� �MR�zh�US �<�f�o�r�m� �a�c�t�i�o�n�=�"�/�t�r�a�n�s�f�e�r�"� �m�e�t�h�o�d�=�"�P�O�S�T�"�>� � � �<�i�n�p�u�t� �t�y�p�e�=�"�h�i�d�d�e�n�"� �n�a�m�e�=�"�_�c�s�r�f�"� �v�a�l�u�e�=�"�<�%�=� �c�s�r�f�T�o�k�e�n� �%�>�"�>� � � �<�i�n�p�u�t� �n�a�m�e�=�"�t�o�"� �p�l�a�c�e�h�o�l�d�e�r�=�"�6e>k�N"�>� � � �<�i�n�p�u�t� �n�a�m�e�=�"�a�m�o�u�n�t�"� �p�l�a�c�e�h�o�l�d�e�r�=�"�ё��"�>� � � �<�b�u�t�t�o�n�>�l�&�<�/�b�u�t�t�o�n�>� �<�/�f�o�r�m�>� � �/�/� �2�.� �����R�e�f�e�r�e�r� �a�p�p�.�p�o�s�t�(�'�/�t�r�a�n�s�f�e�r�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �r�e�f�e�r�e�r� �=� �r�e�q�.�g�e�t�(�'�R�e�f�e�r�e�r�'�)�;� � � �i�f� �(�!�r�e�f�e�r�e�r� �|�|� �!�r�e�f�e�r�e�r�.�s�t�a�r�t�s�W�i�t�h�(�'�h�t�t�p�s�:�/�/�b�a�n�k�.�c�o�m�'�)�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�3�)�.�s�e�n�d�(�'�F�o�r�b�i�d�d�e�n�'�)�;� � � �}� � � �/�/� ��~�~Yt �}�)�;� � �/�/� �3�.� ���nS�a�m�e�S�i�t�e� �C�o�o�k�i�e� �r�e�s�.�c�o�o�k�i�e�(�'�s�e�s�s�i�o�n�'�,� �t�o�k�e�n�,� �{� � � �s�a�m�e�S�i�t�e�:� �'�s�t�r�i�c�t�'�,� � �/�/� �%N<h!j_,��[hQ�ybk,{ N�eC�o�o�k�i�e� � � �/�/� �b �s�a�m�e�S�i�t�e�:� �'�l�a�x�'� � �/�/� ��[~g!j_,�AQ���[hQ�v��z��Bl �}�)�;� � �/�/� �4�.� ��S͑C�o�o�k�i�e����� �a�p�p�.�p�o�s�t�(�'�/�t�r�a�n�s�f�e�r�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �c�o�o�k�i�e�T�o�k�e�n� �=� �r�e�q�.�c�o�o�k�i�e�s�.�c�s�r�f�T�o�k�e�n�;� � � �c�o�n�s�t� �b�o�d�y�T�o�k�e�n� �=� �r�e�q�.�b�o�d�y�.�c�s�r�f�T�o�k�e�n�;� � � � � � �i�f� �(�c�o�o�k�i�e�T�o�k�e�n� �!�=�=� �b�o�d�y�T�o�k�e�n�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�3�)�.�s�e�n�d�(�'�C�S�R�F� �t�o�k�e�n� �m�i�s�m�a�t�c�h�'�)�;� � � �}� � � �/�/� ��~�~Yt �}�)�;� ���� � �#�#�#� �4�.� �D�D�o�S�;e�Q �(�D�i�s�t�r�i�b�u�t�e�d� �D�e�n�i�a�l� �o�f� �S�e�r�v�i�c�e�)� � ����St��:��Ǐ'Yϑ��Bl�=
g�RhVD��n,��[�ck8^(u7b�e�l���0 � �
��;e�Q{|�W��:� � ���� �1�.� �S�Y�N� �F�l�o�o�d� �(�T�C�P� N!k�cKb;e�Q)� � � � �;e�Q��S�'YϑS�Y�N�S,� N�V�^A�C�K� � � � � g�RhVJSޏ�c�R��S�n � � � � �2�.� �H�T�T�P� �F�l�o�o�d� �(��^(uB;e�Q)� � � � ��S�'Yϑ w<Ock8^�vH�T�T�P���Bl � � � ��m� g�RhVC�P�U��T&^�[ � � � � �3�.� �D�N�S�>e'Y;e�Q � � � �)R(uD�N�S� g�RhV>e'YAmϑ � � � �\��Bl�!'Y�T�^�!�m�l�vh ���� � �*�*�2��_�c�e*�*� �':� � ����j�a�v�a�s�c�r�i�p�t� �/�/� �1�.� �P�Am �(�R�a�t�e� �L�i�m�i�t�i�n�g�)� �c�o�n�s�t� �r�a�t�e�L�i�m�i�t� �=� �r�e�q�u�i�r�e�(�'�e�x�p�r�e�s�s�-�r�a�t�e�-�l�i�m�i�t�'�)�;� � �c�o�n�s�t� �l�i�m�i�t�e�r� �=� �r�a�t�e�L�i�m�i�t�(�{� � � �w�i�n�d�o�w�M�s�:� �1�5� �� �6�0� �� �1�0�0�0�,� � �/�/� �1�5�R�� � � �m�a�x�:� �1�0�0�,� � �/�/� ��gY1�0�0�N��Bl � � �m�e�s�s�a�g�e�:� �'���BlǏ�N��A~,��� zT�QՋ'� �}�)�;� � �a�p�p�.�u�s�e�(�'�/�a�p�i�/�'�,� �l�i�m�i�t�e�r�)�;� � �/�/� �2�.� �I�P�ў TUS �c�o�n�s�t� �b�l�o�c�k�e�d�I�P�s� �=� �n�e�w� �S�e�t�(�[�'�1�.�2�.�3�.�4�'�,� �'�5�.�6�.�7�.�8�'�]�)�;� � �a�p�p�.�u�s�e�(�(�r�e�q�,� �r�e�s�,� �n�e�x�t�)� �=�>� �{� � � �c�o�n�s�t� �c�l�i�e�n�t�I�P� �=� �r�e�q�.�i�p�;� � � �i�f� �(�b�l�o�c�k�e�d�I�P�s�.�h�a�s�(�c�l�i�e�n�t�I�P�)�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�3�)�.�s�e�n�d�(�'�F�o�r�b�i�d�d�e�n�'�)�;� � � �}� � � �n�e�x�t�(�)�;� �}�)�;� � �/�/� �3�.� �����x �a�p�p�.�p�o�s�t�(�'�/�a�p�i�/�l�o�g�i�n�'�,� �a�s�y�n�c� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �/�/� �����G�o�o�g�l�e� �r�e�C�A�P�T�C�H�A� � � �c�o�n�s�t� �c�a�p�t�c�h�a�V�a�l�i�d� �=� �a�w�a�i�t� �v�e�r�i�f�y�C�a�p�t�c�h�a�(�r�e�q�.�b�o�d�y�.�c�a�p�t�c�h�a�)�;� � � �i�f� �(�!�c�a�p�t�c�h�a�V�a�l�i�d�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�0�)�.�s�e�n�d�(�'�����x��'�)�;� � � �}� � � �/�/� ��~�~{vU_;��� �}�)�;� ���� � �*�*��|�~�~2��_*�*�:� ����b�a�s�h� �#� �L�i�n�u�x� �-� �2��S�Y�N� �F�l�o�o�d� �s�u�d�o� �s�y�s�c�t�l� �-�w� �n�e�t�.�i�p�v�4�.�t�c�p��s�y�n�c�o�o�k�i�e�s�=�1� �s�u�d�o� �s�y�s�c�t�l� �-�w� �n�e�t�.�i�p�v�4�.�t�c�p��m�a�x��s�y�n�_�b�a�c�k�l�o�g�=�4�0�9�6� � �#� �O(u2�kp�X �s�u�d�o� �i�p�t�a�b�l�e�s� �-�A� �I�N�P�U�T� �-�p� �t�c�p� �-�-�s�y�n� �-�m� �l�i�m�i�t� �-�-�l�i�m�i�t� �1�/�s� �-�-�l�i�m�i�t�-�b�u�r�s�t� �3� �-�j� �A�C�C�E�P�T� �s�u�d�o� �i�p�t�a�b�l�e�s� �-�A� �I�N�P�U�T� �-�p� �t�c�p� �-�-�s�y�n� �-�j� �D�R�O�P� � �#� �O(uC�D�N��TD�D�o�S�2��b g�R �#� �-� �C�l�o�u�d�f�l�a�r�e� �#� �-� �A�W�S� �S�h�i�e�l�d� �#� �-� �?�̑�ND�D�o�S�2��b ���� � �#�#� �=�� �H�T�T�P�S��R�[�St � �#�#�#� �H�T�T�P� �v�s� �H�T�T�P�S� � �*�*�H�T�T�P��v�*�*�:� ���� ��[7b�z ��%�%f�epenc�! �-N���N(��S�N�z,T�T�{9e)� ��%�%�! � g�RhV � � � � � � � ��!f�epenc�%�% �-N���N(��S�N�z,T�T�{9e)� ��!�%�%�% � g�RhV � � � � � � � � �qSi�:� �-� ��[x���z�S �=؀� �-� �penc���{9e �=؀� �-� ��e�lnx�� g�RhVw�[' �=؀� ���� � ���H�T�T�P�S��v㉳Q*��:� ���� ��[7b�z ��%�%�R�[penc�! �-N���N(��e�l��[)� ��%�%�! � g�RhV � � � � � � � ��!�R�[penc�%�% �-N���N(��e�l��[)� ��!�%�%�% � g�RhV � � � � � � � � ��[hQ:� �-� �penc�R�[ O�� �' �-� �penc�[te'���� �' �-� � g�RhV���N���� �' ���� � �#�#�#� �H�T�T�P�S��cKbǏ z � ���� �,{1�ek:� ��[7b�z �H�e�l�l�o� ��[7b�z ��! � g�RhV:� �/ec�v�R�[�{�lRh� � �,{2�ek:� � g�RhV �H�e�l�l�o� � g�RhV ��! ��[7b�z:� � � � �-� � ��b�v�R�[�{�l � � �-� � g�RhV��fN(�S+TlQ��)� � �,{3�ek:� �������fN ��[7b�z:� � � �-� �������fN/f&T1u�S�OC�A�~{�S � � �-� �������fN/f&TǏg � � �-� �������fN�W T/f&T9SM� � �,{4�ek:� �ub�[�� ��[7b�z:� � � �-� �ub��:gpe(���;N�[��)� � � �-� �(u g�RhVlQ���R�[ � � �-� ��S��~ g�RhV � �,{5�ek:� � g�RhV��[ � g�RhV:� � � �-� �(u�y����[,��0R��;N�[�� � � �-� ��S�e�� g�N��;N�[�� � �,{6�ek:� �ubO݋�[�� ��[7b�z�T g�RhV:� � � �-� �(u��;N�[��ub�[�y�R�[�[�� � � �-� �T�~��OO(u�[�y�R�[(���)� � �,{7�ek:� ��R�[��O ��[7b�z ��! � g�RhV:� �O(uO݋�[���R�[penc ���� � �#�#�#� �N�o�d�e�.�j�s�M�nH�T�T�P�S� � ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �h�t�t�p�s� �=� �r�e�q�u�i�r�e�(�'�h�t�t�p�s�'�)�;� �c�o�n�s�t� �f�s� �=� �r�e�q�u�i�r�e�(�'�f�s�'�)�;� � �/�/� ����SS�S�L���fN �c�o�n�s�t� �o�p�t�i�o�n�s� �=� �{� � � �k�e�y�:� �f�s�.�r�e�a�d�F�i�l�e�S�y�n�c�(�'�p�r�i�v�a�t�e�-�k�e�y�.�p�e�m�'�)�,� � � � � � �/�/� ��y�� � � �c�e�r�t�:� �f�s�.�r�e�a�d�F�i�l�e�S�y�n�c�(�'�c�e�r�t�i�f�i�c�a�t�e�.�p�e�m�'�)�,� � � � � �/�/� ���fN � � �/�/� �c�a�:� �f�s�.�r�e�a�d�F�i�l�e�S�y�n�c�(�'�c�a�-�c�e�r�t�i�f�i�c�a�t�e�.�p�e�m�'�)� � �/�/� �C�A���fN(��S �)� �}�;� � �/�/� �R�^H�T�T�P�S� g�RhV �c�o�n�s�t� �s�e�r�v�e�r� �=� �h�t�t�p�s�.�c�r�e�a�t�e�S�e�r�v�e�r�(�o�p�t�i�o�n�s�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �r�e�s�.�w�r�i�t�e�H�e�a�d�(�2�0�0�)�;� � � �r�e�s�.�e�n�d�(�'�H�e�l�l�o� �H�T�T�P�S�!�'�)�;� �}�)�;� � �s�e�r�v�e�r�.�l�i�s�t�e�n�(�4�4�3�,� �(�)� �=�>� �{� � � �c�o�n�s�o�l�e�.�l�o�g�(�'�H�T�T�P�S� g�RhVЏL�(W �h�t�t�p�s�:�/�/�l�o�c�a�l�h�o�s�t�:�4�4�3�'�)�;� �}�)�;� ���� � �#�#�#� �N�g�i�n�x�M�nH�T�T�P�S� � ����n�g�i�n�x� �s�e�r�v�e�r� �{� � � � � �l�i�s�t�e�n� �4�4�3� �s�s�l� �h�t�t�p�2�;� � � � � �s�e�r�v�e�r��n�a�m�e� �e�x�a�m�p�l�e�.�c�o�m�;� � � � � � � � � � �#� �S�S�L���fNM�n � � � � �s�s�l��c�e�r�t�i�f�i�c�a�t�e� �/�p�a�t�h�/�t�o�/�c�e�r�t�i�f�i�c�a�t�e�.�p�e�m�;� � � � � �s�s�l��c�e�r�t�i�f�i�c�a�t�e��k�e�y� �/�p�a�t�h�/�t�o�/�p�r�i�v�a�t�e�-�k�e�y�.�p�e�m�;� � � � � � � � � � �#� �S�S�L�OSM�n � � � � �s�s�l��p�r�o�t�o�c�o�l�s� �T�L�S�v�1�.�2� �T�L�S�v�1�.�3�;� � � � � �s�s�l��c�i�p�h�e�r�s� �H�I�G�H�:�!�a�N�U�L�L�:�!�M�D�5�;� � � � � �s�s�l��p�r�e�f�e�r��s�e�r�v�e�r��c�i�p�h�e�r�s� �o�n�;� � � � � � � � � � �#� �/T(uH�S�T�S�(�:6RH�T�T�P�S�)� � � � � �a�d�d��h�e�a�d�e�r� �S�t�r�i�c�t�-�T�r�a�n�s�p�o�r�t�-�S�e�c�u�r�i�t�y� �"�m�a�x�-�a�g�e�=�3�1�5�3�6�0�0�0�;� �i�n�c�l�u�d�e�S�u�b�D�o�m�a�i�n�s�"� �a�l�w�a�y�s�;� � � � � � � � � � �l�o�c�a�t�i�o�n� �/� �{� � � � � � � � � �p�r�o�x�y��p�a�s�s� �h�t�t�p�:�/�/�b�a�c�k�e�n�d�:�3�0�0�0�;� � � � � �}� �}� � �#� �H�T�T�P�ꁨR�l�H�T�T�P�S� �s�e�r�v�e�r� �{� � � � � �l�i�s�t�e�n� �8�0�;� � � � � �s�e�r�v�e�r��n�a�m�e� �e�x�a�m�p�l�e�.�c�o�m�;� � � � � �r�e�t�u�r�n� �3�0�1� �h�t�t�p�s�:�/�/�$�h�o�s�t�$�r�e�q�u�e�s�t��u�r�i�;� �}� ���� � �#�#�#� ����SMQ9�S�S�L���fN � �*�*�L�e�t�'�s� �E�n�c�r�y�p�t�*�*� �(�MQ9�0ꁨRS)�:� � ����b�a�s�h� �#� ��[ňC�e�r�t�b�o�t� �s�u�d�o� �a�p�t�-�g�e�t� �i�n�s�t�a�l�l� �c�e�r�t�b�o�t� �p�y�t�h�o�n�3�-�c�e�r�t�b�o�t�-�n�g�i�n�x� � �#� �ꁨRM�nN�g�i�n�x� �s�u�d�o� �c�e�r�t�b�o�t� �-�-�n�g�i�n�x� �-�d� �e�x�a�m�p�l�e�.�c�o�m� �-�d� �w�w�w�.�e�x�a�m�p�l�e�.�c�o�m� � �#� �Kb�R���S��fN �s�u�d�o� �c�e�r�t�b�o�t� �c�e�r�t�o�n�l�y� �-�-�s�t�a�n�d�a�l�o�n�e� �-�d� �e�x�a�m�p�l�e�.�c�o�m� � �#� �ꁨR�~g(���fN gHeg9�0�)Y)� �s�u�d�o� �c�e�r�t�b�o�t� �r�e�n�e�w� � �#� ���nꁨR�~g�N�R �s�u�d�o� �c�r�o�n�t�a�b� �-�e� �#� ��m�R:� �0� �0� �� �� �0� �c�e�r�t�b�o�t� �r�e�n�e�w� �-�-�q�u�i�e�t� ���� � �#�#� �=�� �����N�cCg � �#�#�#� �8^�������e_ � �#�#�#�#� �1�.� �S�e�s�s�i�o�n�-�C�o�o�k�i�e����� � ����j�a�v�a�s�c�r�i�p�t� �/�/� �{vU_�c�S �a�p�p�.�p�o�s�t�(�'�/�l�o�g�i�n�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �/�/� �����(u7b T�[x � � �c�o�n�s�t� �u�s�e�r� �=� �v�e�r�i�f�y�U�s�e�r�(�u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d�)�;� � � �i�f� �(�!�u�s�e�r�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'�(u7b Tb�[x��'�)�;� � � �}� � � � � � �/�/� �R�^S�e�s�s�i�o�n� � � �r�e�q�.�s�e�s�s�i�o�n�.�u�s�e�r�I�d� �=� �u�s�e�r�.�i�d�;� � � �r�e�q�.�s�e�s�s�i�o�n�.�u�s�e�r�n�a�m�e� �=� �u�s�e�r�.�u�s�e�r�n�a�m�e�;� � � � � � �/�/� �ԏ�Vb�R(�S�e�s�s�i�o�n� �I�D�OꁨR��n0RC�o�o�k�i�e�)� � � �r�e�s�.�j�s�o�n�(�{� �m�e�s�s�a�g�e�:� �'�{vU_b�R'�,� �u�s�e�r� �}�)�;� �}�)�;� � �/�/� ��S�O�b�v�c�S �a�p�p�.�g�e�t�(�'�/�p�r�o�f�i�l�e�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �/�/� ��h�gS�e�s�s�i�o�n� � � �i�f� �(�!�r�e�q�.�s�e�s�s�i�o�n�.�u�s�e�r�I�d�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'�g{vU_'�)�;� � � �}� � � � � � �/�/� �ԏ�V(u7b�Oo � � �c�o�n�s�t� �u�s�e�r� �=� �g�e�t�U�s�e�r�B�y�I�d�(�r�e�q�.�s�e�s�s�i�o�n�.�u�s�e�r�I�d�)�;� � � �r�e�s�.�j�s�o�n�(�u�s�e�r�)�;� �}�)�;� � �/�/� �{v�Q�c�S �a�p�p�.�p�o�s�t�(�'�/�l�o�g�o�u�t�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �r�e�q�.�s�e�s�s�i�o�n�.�d�e�s�t�r�o�y�(�)�;� � � �r�e�s�.�j�s�o�n�(�{� �m�e�s�s�a�g�e�:� �'�{v�Qb�R'� �}�)�;� �}�)�;� ���� � �#�#�#�#� �2�.� �J�W�T� �(�J�S�O�N� �W�e�b� �T�o�k�e�n�)� � ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �j�w�t� �=� �r�e�q�u�i�r�e�(�'�j�s�o�n�w�e�b�t�o�k�e�n�'�)�;� �c�o�n�s�t� �S�E�C�R�E�T�_�K�E�Y� �=� �'�y�o�u�r�-�s�e�c�r�e�t�-�k�e�y�'�;� � �/�/� �{vU_�c�S �a�p�p�.�p�o�s�t�(�'�/�l�o�g�i�n�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �c�o�n�s�t� �u�s�e�r� �=� �v�e�r�i�f�y�U�s�e�r�(�u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d�)�;� � � �i�f� �(�!�u�s�e�r�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'�(u7b Tb�[x��'�)�;� � � �}� � � � � � �/�/� �ubJ�W�T� � � �c�o�n�s�t� �t�o�k�e�n� �=� �j�w�t�.�s�i�g�n�(� � � � � �{� �u�s�e�r�I�d�:� �u�s�e�r�.�i�d�,� �u�s�e�r�n�a�m�e�:� �u�s�e�r�.�u�s�e�r�n�a�m�e� �}�,� � � � � �S�E�C�R�E�T�_�K�E�Y�,� � � � � �{� �e�x�p�i�r�e�s�I�n�:� �'�1�h�'� �}� � �/�/� �1�\�eǏg � � �)�;� � � � � � �r�e�s�.�j�s�o�n�(�{� �t�o�k�e�n� �}�)�;� �}�)�;� � �/�/� �����-N���N �f�u�n�c�t�i�o�n� �a�u�t�h�e�n�t�i�c�a�t�e�T�o�k�e�n�(�r�e�q�,� �r�e�s�,� �n�e�x�t�)� �{� � � �c�o�n�s�t� �a�u�t�h�H�e�a�d�e�r� �=� �r�e�q�.�h�e�a�d�e�r�s�[�'�a�u�t�h�o�r�i�z�a�t�i�o�n�'�]�;� � � �c�o�n�s�t� �t�o�k�e�n� �=� �a�u�t�h�H�e�a�d�e�r� �&�&� �a�u�t�h�H�e�a�d�e�r�.�s�p�l�i�t�(�'� �'�)�[�1�]�;� � �/�/� �B�e�a�r�e�r� �T�O�K�E�N� � � � � � �i�f� �(�!�t�o�k�e�n�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'�*g�c�OT�o�k�e�n�'�)�;� � � �}� � � � � � �j�w�t�.�v�e�r�i�f�y�(�t�o�k�e�n�,� �S�E�C�R�E�T�_�K�E�Y�,� �(�e�r�r�,� �u�s�e�r�)� �=�>� �{� � � � � �i�f� �(�e�r�r�)� �{� � � � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�3�)�.�s�e�n�d�(�'�T�o�k�e�n��eHeb�]Ǐg'�)�;� � � � � �}� � � � � �r�e�q�.�u�s�e�r� �=� �u�s�e�r�;� � � � � �n�e�x�t�(�)�;� � � �}�)�;� �}� � �/�/� ��S�O�b�v�c�S �a�p�p�.�g�e�t�(�'�/�p�r�o�f�i�l�e�'�,� �a�u�t�h�e�n�t�i�c�a�t�e�T�o�k�e�n�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �u�s�e�r� �=� �g�e�t�U�s�e�r�B�y�I�d�(�r�e�q�.�u�s�e�r�.�u�s�e�r�I�d�)�;� � � �r�e�s�.�j�s�o�n�(�u�s�e�r�)�;� �}�)�;� ���� � ���MR�zO(uJ�W�T���:� � ����j�a�v�a�s�c�r�i�p�t� �/�/� �{vU_T�OX[T�o�k�e�n� �c�o�n�s�t� �r�e�s�p�o�n�s�e� �=� �a�w�a�i�t� �f�e�t�c�h�(�'�/�l�o�g�i�n�'�,� �{� � � �m�e�t�h�o�d�:� �'�P�O�S�T�'�,� � � �h�e�a�d�e�r�s�:� �{� �'�C�o�n�t�e�n�t�-�T�y�p�e�'�:� �'�a�p�p�l�i�c�a�t�i�o�n�/�j�s�o�n�'� �}�,� � � �b�o�d�y�:� �J�S�O�N�.�s�t�r�i�n�g�i�f�y�(�{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}�)� �}�)�;� � �c�o�n�s�t� �{� �t�o�k�e�n� �}� �=� �a�w�a�i�t� �r�e�s�p�o�n�s�e�.�j�s�o�n�(�)�;� �l�o�c�a�l�S�t�o�r�a�g�e�.�s�e�t�I�t�e�m�(�'�t�o�k�e�n�'�,� �t�o�k�e�n�)�;� � �/�/� �T�~��Bl:d&^T�o�k�e�n� �c�o�n�s�t� �p�r�o�f�i�l�e�R�e�s�p�o�n�s�e� �=� �a�w�a�i�t� �f�e�t�c�h�(�'�/�p�r�o�f�i�l�e�'�,� �{� � � �h�e�a�d�e�r�s�:� �{� � � � � �'�A�u�t�h�o�r�i�z�a�t�i�o�n�'�:� ��B�e�a�r�e�r� �$�{�l�o�c�a�l�S�t�o�r�a�g�e�.�g�e�t�I�t�e�m�(�'�t�o�k�e�n�'�)�}�� � � �}� �}�)�;� ���� � �#�#�#� �S�e�s�s�i�o�n� �v�s� �J�W�T� � �|� ��[�ky� �|� �S�e�s�s�i�o�n�-�C�o�o�k�i�e� �|� �J�W�T� �|� �|�-�-�-�-�-�-�-�|�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�|�-�-�-�-�-�|� �|� ���X[�PMOn*�� �|� � g�RhV(�S�e�s�s�i�o�n�X[�P)� �|� ��[7b�z(�L�o�c�a�l�S�t�o�r�a�g�e�/�C�o�o�k�i�e�)� �|� �|� ����SibU'*�*� �|� ��](�����S�e�s�s�i�o�n�qQ�N)� �|� �}Y(��e�r)� �|� �|� ����[hQ'*�*� �|� ���ؚ(� g�RhV�c6R)� �|� ���NO(��[7b�z�S��)� �|� �|� �*�*�'���� �|� ������g�S�e�s�s�i�o�n�X[�P �|� ��e���g�,��_����� �|� �|� ����l���� �|� ��{US(� Rd�S�e�s�s�i�o�n�)� �|� � YBg(�����ў TUS)� �|� �|� ����(u:Wof�� �|� � O�~W�e�b��^(u �|� �R^_�|�~0A�P�I� �|� � �#�#� �=���� ��[hQ�gsO�[�� � �#�#�#� �1�.� ���eQ���� � ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �v�a�l�i�d�a�t�o�r� �=� �r�e�q�u�i�r�e�(�'�v�a�l�i�d�a�t�o�r�'�)�;� � �a�p�p�.�p�o�s�t�(�'�/�r�e�g�i�s�t�e�r�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �e�m�a�i�l�,� �p�a�s�s�w�o�r�d�,� �a�g�e� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �/�/� ��������{ � � �i�f� �(�!�v�a�l�i�d�a�t�o�r�.�i�s�E�m�a�i�l�(�e�m�a�i�l�)�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�0�)�.�s�e�n�d�(�'����{<h_ Ncknx'�)�;� � � �}� � � � � � �/�/� ������[x:_�^ � � �i�f� �(�!�v�a�l�i�d�a�t�o�r�.�i�s�S�t�r�o�n�g�P�a�s�s�w�o�r�d�(�p�a�s�s�w�o�r�d�,� �{� � � � � �m�i�n�L�e�n�g�t�h�:� �8�,� � � � � �m�i�n�L�o�w�e�r�c�a�s�e�:� �1�,� � � � � �m�i�n�U�p�p�e�r�c�a�s�e�:� �1�,� � � � � �m�i�n�N�u�m�b�e�r�s�:� �1�,� � � � � �m�i�n�S�y�m�b�o�l�s�:� �1� � � �}�)�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�0�)�.�s�e�n�d�(�'��[x:_�^ NY'�)�;� � � �}� � � � � � �/�/� �����t^�� � � �i�f� �(�!�v�a�l�i�d�a�t�o�r�.�i�s�I�n�t�(�S�t�r�i�n�g�(�a�g�e�)�,� �{� �m�i�n�:� �1�8�,� �m�a�x�:� �1�2�0� �}�)�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�0�)�.�s�e�n�d�(�'�t^���_{�(W1�8�-�1�2�0�KN��'�)�;� � � �}� � � � � � �/�/� ��~�~�l�Q;��� �}�)�;� ���� � �#�#�#� �2�.� ��[x�R�[ � ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �b�c�r�y�p�t� �=� �r�e�q�u�i�r�e�(�'�b�c�r�y�p�t�'�)�;� � �/�/� ��l�Q�e�R�[�[x �a�p�p�.�p�o�s�t�(�'�/�r�e�g�i�s�t�e�r�'�,� �a�s�y�n�c� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �/�/� ��R�v�R�[(�1�0�n�)� � � �c�o�n�s�t� �h�a�s�h�e�d�P�a�s�s�w�o�r�d� �=� �a�w�a�i�t� �b�c�r�y�p�t�.�h�a�s�h�(�p�a�s�s�w�o�r�d�,� �1�0�)�;� � � � � � �/�/� �X[�P0Rpenc�^ � � �a�w�a�i�t� �d�b�.�s�a�v�e�(�{� � � � � �u�s�e�r�n�a�m�e�,� � � � � �p�a�s�s�w�o�r�d�:� �h�a�s�h�e�d�P�a�s�s�w�o�r�d� � �/�/� �X[�P�R�[T�v�[x � � �}�)�;� � � � � � �r�e�s�.�j�s�o�n�(�{� �m�e�s�s�a�g�e�:� �'��l�Qb�R'� �}�)�;� �}�)�;� � �/�/� �{vU_�e�����[x �a�p�p�.�p�o�s�t�(�'�/�l�o�g�i�n�'�,� �a�s�y�n�c� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �c�o�n�s�t� �u�s�e�r� �=� �a�w�a�i�t� �d�b�.�f�i�n�d�O�n�e�(�{� �u�s�e�r�n�a�m�e� �}�)�;� � � �i�f� �(�!�u�s�e�r�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'�(u7b NX[(W'�)�;� � � �}� � � � � � �/�/� ��k�[�[x � � �c�o�n�s�t� �i�s�V�a�l�i�d� �=� �a�w�a�i�t� �b�c�r�y�p�t�.�c�o�m�p�a�r�e�(�p�a�s�s�w�o�r�d�,� �u�s�e�r�.�p�a�s�s�w�o�r�d�)�;� � � �i�f� �(�!�i�s�V�a�l�i�d�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'��[x��'�)�;� � � �}� � � � � � �/�/� �{vU_b�R � � �r�e�s�.�j�s�o�n�(�{� �m�e�s�s�a�g�e�:� �'�{vU_b�R'� �}�)�;� �}�)�;� ���� � �#�#�#� �3�.� ��[hQ�T�^4Y � ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �h�e�l�m�e�t� �=� �r�e�q�u�i�r�e�(�'�h�e�l�m�e�t�'�)�;� � �/�/� �O(uh�e�l�m�e�t���nY�y�[hQ�T�^4Y �a�p�p�.�u�s�e�(�h�e�l�m�e�t�(�)�)�;� � �/�/� �bKb�R��n �a�p�p�.�u�s�e�(�(�r�e�q�,� �r�e�s�,� �n�e�x�t�)� �=�>� �{� � � �/�/� �2�bk�p�Q�Rc � � �r�e�s�.�s�e�t�H�e�a�d�e�r�(�'�X�-�F�r�a�m�e�-�O�p�t�i�o�n�s�'�,� �'�D�E�N�Y�'�)�;� � � � � � �/�/� �X�S�S��O�b � � �r�e�s�.�s�e�t�H�e�a�d�e�r�(�'�X�-�X�S�S�-�P�r�o�t�e�c�t�i�o�n�'�,� �'�1�;� �m�o�d�e�=�b�l�o�c�k�'�)�;� � � � � � �/�/� ��ybk�U�cM�I�M�E�{|�W � � �r�e�s�.�s�e�t�H�e�a�d�e�r�(�'�X�-�C�o�n�t�e�n�t�-�T�y�p�e�-�O�p�t�i�o�n�s�'�,� �'�n�o�s�n�i�f�f�'�)�;� � � � � � �/�/� �C�S�P� � � �r�e�s�.�s�e�t�H�e�a�d�e�r�(� � � � � �'�C�o�n�t�e�n�t�-�S�e�c�u�r�i�t�y�-�P�o�l�i�c�y�'�,� � � � � �"�d�e�f�a�u�l�t�-�s�r�c� �'�s�e�l�f�'�;� �s�c�r�i�p�t�-�s�r�c� �'�s�e�l�f�'� �'�u�n�s�a�f�e�-�i�n�l�i�n�e�'�"� � � �)�;� � � � � � �/�/� �H�S�T�S�(�:_6RH�T�T�P�S�)� � � �r�e�s�.�s�e�t�H�e�a�d�e�r�(� � � � � �'�S�t�r�i�c�t�-�T�r�a�n�s�p�o�r�t�-�S�e�c�u�r�i�t�y�'�,� � � � � �'�m�a�x�-�a�g�e�=�3�1�5�3�6�0�0�0�;� �i�n�c�l�u�d�e�S�u�b�D�o�m�a�i�n�s�'� � � �)�;� � � � � � �n�e�x�t�(�)�;� �}�)�;� ���� � �#�#�#� �4�.� ��e��T�v�c � ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �w�i�n�s�t�o�n� �=� �r�e�q�u�i�r�e�(�'�w�i�n�s�t�o�n�'�)�;� � �/�/� �M�n�e�_ �c�o�n�s�t� �l�o�g�g�e�r� �=� �w�i�n�s�t�o�n�.�c�r�e�a�t�e�L�o�g�g�e�r�(�{� � � �l�e�v�e�l�:� �'�i�n�f�o�'�,� � � �f�o�r�m�a�t�:� �w�i�n�s�t�o�n�.�f�o�r�m�a�t�.�j�s�o�n�(�)�,� � � �t�r�a�n�s�p�o�r�t�s�:� �[� � � � � �n�e�w� �w�i�n�s�t�o�n�.�t�r�a�n�s�p�o�r�t�s�.�F�i�l�e�(�{� �f�i�l�e�n�a�m�e�:� �'�e�r�r�o�r�.�l�o�g�'�,� �l�e�v�e�l�:� �'�e�r�r�o�r�'� �}�)�,� � � � � �n�e�w� �w�i�n�s�t�o�n�.�t�r�a�n�s�p�o�r�t�s�.�F�i�l�e�(�{� �f�i�l�e�n�a�m�e�:� �'�c�o�m�b�i�n�e�d�.�l�o�g�'� �}�)� � � �]� �}�)�;� � �/�/� ���U_�[hQ�N�N �a�p�p�.�p�o�s�t�(�'�/�l�o�g�i�n�'�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �c�o�n�s�t� �u�s�e�r� �=� �v�e�r�i�f�y�U�s�e�r�(�u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d�)�;� � � �i�f� �(�!�u�s�e�r�)� �{� � � � � �/�/� ���U_1Y%��v{vU_\Ջ � � � � �l�o�g�g�e�r�.�w�a�r�n�(�'�{vU_1Y%�'�,� �{� � � � � � � �u�s�e�r�n�a�m�e�,� � � � � � � �i�p�:� �r�e�q�.�i�p�,� � � � � � � �u�s�e�r�A�g�e�n�t�:� �r�e�q�.�g�e�t�(�'�U�s�e�r�-�A�g�e�n�t�'�)�,� � � � � � � �t�i�m�e�s�t�a�m�p�:� �n�e�w� �D�a�t�e�(�)� � � � � �}�)�;� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�s�e�n�d�(�'�{vU_1Y%�'�)�;� � � �}� � � � � � �/�/� ���U_b�R�v{vU_ � � �l�o�g�g�e�r�.�i�n�f�o�(�'�{vU_b�R'�,� �{� � � � � �u�s�e�r�I�d�:� �u�s�e�r�.�i�d�,� � � � � �u�s�e�r�n�a�m�e�:� �u�s�e�r�.�u�s�e�r�n�a�m�e�,� � � � � �i�p�:� �r�e�q�.�i�p� � � �}�)�;� � � � � � �r�e�s�.�j�s�o�n�(�{� �m�e�s�s�a�g�e�:� �'�{vU_b�R'� �}�)�;� �}�)�;� � �/�/� ��v�c_8^{vU_ �a�p�p�.�u�s�e�(�(�e�r�r�,� �r�e�q�,� �r�e�s�,� �n�e�x�t�)� �=�>� �{� � � �l�o�g�g�e�r�.�e�r�r�o�r�(�'� g�RhV��'�,� �{� � � � � �e�r�r�o�r�:� �e�r�r�.�m�e�s�s�a�g�e�,� � � � � �s�t�a�c�k�:� �e�r�r�.�s�t�a�c�k�,� � � � � �u�r�l�:� �r�e�q�.�u�r�l�,� � � � � �m�e�t�h�o�d�:� �r�e�q�.�m�e�t�h�o�d�,� � � � � �i�p�:� �r�e�q�.�i�p� � � �}�)�;� � � � � � �r�e�s�.�s�t�a�t�u�s�(�5�0�0�)�.�s�e�n�d�(�'� g�RhV��'�)�;� �}�)�;� ���� � �#�#� �=� � ��[hQ�h�gnUS � �#�#�#� ���S6��k �' � �-� �[� �]� �O(u�SpeS�g�,�2�bkS�Q�L��leQ �-� �[� �]� �l�IN@b g(u7b��eQ,�2�bkX�S�S� �-� �[� �]� ��[�sC�S�R�F�2��b �-� �[� �]� �O(uH�T�T�P�S��R�[ O�� �-� �[� �]� ��[xO(ub�c�r�y�p�t��R�[X[�P �-� �[� �]� ��[�sTt�v�����cCg:g6R �-� �[� �]� ���eQ����(����{0�[x:�^I{)� �-� �[� �]� ���n�[hQ�T�^4Y �-� �[� �]� ��[�sP�Am2�bk�f�R4x� �-� �[� �]� �Oeapenc N���f2�(WMR�z � �#�#�#� ��r6��k �' � �-� �[� �]� �O(u�g�eHr,g�v�OV� �-� �[� �]� ��[g�f�e�[hQe�N �-� �[� �]� �M�n2�kp�X �-� �[� �]� �sQ� N����v�z�S�T g�R �-� �[� �]� �O(u�s�X�SϑX[�POeaM�n �-� �[� �]� �M�n�e�_�T�v�c �-� �[� �]� �Y�Npenc �-� �[� �]� �6R�[�^%�T�^��R � �#�#�#� �c�~�v�c �' � �-� �[� �]� ��v�c_8^{vU_L�:N �-� �[� �]� ��v�c g�RhVD��nO(u �-� �[� �]� ��[g�[���Nx �-� �[� �]� ��[gn�KmՋ �-� �[� �]� �sQ�l�[hQlQJT � �#�#� �=ء� �f[N�^�� � �#�#�#� �1�.� ��[hQaƋ,{�N �>��� � ���8l܏ N���O�N(u7b��eQ��:� �-� �@b g��eQ���S��/fva�v �-� �����0Ǐ�n0l�IN�N*N�� N��\ � �#�#�#� �2�.� �f[N8^��om �=��� � ���O�W�A�S�P� �T�o�p� �1�0��� �(��g8^���vW�e�b��[hQΘi�)�:� �1�.� ��leQ;e�Q(�S�Q�L��leQ0}T�N�leQ)� �2�.� �1YHe�v���N���� �3�.� �Oeapenc�l2� �4�.� �X�M�L�Y萞[SO(�X�X�E�)� �5�.� �1YHe�v��c6R �6�.� ��[hQM�n�� �7�.� �X�S�S� �8�.� � N�[hQ�v�S�^RS �9�.� �O(u+T g�]�wom�v�~�N �1�0�.� ��e�_�T�v�c N�� � �#�#�#� �3�.� ��[��:N;N �=ػ� � �-� �\Ջ;e�Q��]�v�^(u(�(WT�l�s�X)� �-� �O(u�[hQkb�c�]wQ �-� ��SNC�T�F��k[� � �#�#� �=��� ��~N�� � �#�#�#� ��W@x�� � �1�.� �*�*�S�Q�L��leQ/f�NHN?��YUO2��_?�*�*� � �:�:�:� �d�e�t�a�i�l�s� ��p�Q�g wT{Hh �*�*�S�Q�L��leQ*�*�:�;e�Q�(W��eQ-N�leQS�Q�L��Nx,�9e�S�g�;���0 � �*�*�2��_�e�l*�*�:� �1�.� �*�*�O(u�SpeS�g�*�*�(��g͑��)�:� � � � ����j�a�v�a�s�c�r�i�p�t� � � � �/�/� �' �cknx � � � �d�b�.�q�u�e�r�y�(�'�S�E�L�E�C�T� �� �F�R�O�M� �u�s�e�r�s� �W�H�E�R�E� �i�d� �=� �?�'�,� �[�u�s�e�r�I�d�]�)�;� � � � � � � � �/�/� �L' ��� � � � �d�b�.�q�u�e�r�y�(��S�E�L�E�C�T� �*� �F�R�O�M� �u�s�e�r�s� �W�H�E�R�E� �i�d� �=� �$�{�u�s�e�r�I�d�}��)�;� � � � ���� � �2�.� �*�*�O(uO�R�M�*�*�:�S�e�q�u�e�l�i�z�e�0T�y�p�e�O�R�M�I{OꁨR2�bkS�Q�L��leQ � �3�.� �*�*���eQ����*�*�:�������eQ<h_,�Ǐ�nyr�kW[&{ � �4�.� �*�*��g\CgP��SR*�*�:�penc�^(u7b�S�~�_���vCgP� � �5�.� �*�*����Oo N���f2�S�Q�L���:��MQ\��~�vS�Q�L���ԏ�V�~(u7b �:�:�:� � �2�.� ���X�S�S�;e�Q g�T�Q�y{|�W?��YUO2��?��� � �:�:�:� �d�e�t�a�i�l�s� ��p�Q�g wT{Hh ���X�S�S�{|�W*��:� � �1�.� ����S\�WX�S�S���:�va�,g�ǏU�R�L��Spe�leQ,��zsSgbL� � � � �-� ��O:��?�s�e�a�r�c�h�=�<�s�c�r�i�p�t�>�a�l�e�r�t�(�1�)�<�/�s�c�r�i�p�t�>�� � �2�.� �*�*�X[�P�WX�S�S�*�*�:�va�,gX[�P0Rpenc�^,�vQ�N(u7b����egbL� � � � �-� ��O:�ċ��-N�leQ�,g � �3�.� ���D�O�M��WX�S�S���:��Ǐ�O9eD�O�M�gbL��,g � � � �-� ��O:��l�o�c�a�t�i�o�n�.�h�a�s�h� �=� �'�<�s�c�r�i�p�t�>�a�l�e�r�t�(�1�)�<�/�s�c�r�i�p�t�>�'�� � ��*�2���e�l*��:� � �1�.� ���l�INH�T�M�L�yr�kW[&{��:� � � � ����j�a�v�a�s�c�r�i�p�t� � � � �f�u�n�c�t�i�o�n� �e�s�c�a�p�e�H�t�m�l�(�t�e�x�t�)� �{� � � � � � �r�e�t�u�r�n� �t�e�x�t�.�r�e�p�l�a�c�e�(�/�[�&�<�>�"�'�]�/�g�,� �m� �=�>� �(�{� � � � � � � � �'�&�'�:� �'�&�a�m�p�;�'�,� �'�<�'�:� �'�&�l�t�;�'�,� �'�>�'�:� �'�&�g�t�;�'�,� � � � � � � � �'�"�'�:� �'�&�q�u�o�t�;�'�,� �"�'�"�:� �'�&�#�0�3�9�;�'� � � � � � �}�)�[�m�]�)�;� � � � �}� � � � ���� � �2�.� ���O(uFh�g�vꁨRl�IN��:�R�e�a�c�t�0V�u�e�ꁨRl�IN � �3�.� ���C�o�n�t�e�n�t� �S�e�c�u�r�i�t�y� �P�o�l�i�c�y� �(�C�S�P�)���:� � � � ����j�a�v�a�s�c�r�i�p�t� � � � �r�e�s�.�s�e�t�H�e�a�d�e�r�(�'�C�o�n�t�e�n�t�-�S�e�c�u�r�i�t�y�-�P�o�l�i�c�y�'�,� �"�s�c�r�i�p�t�-�s�r�c� �'�s�e�l�f�'�"�)�;� � � � ���� � �4�.� ���H�t�t�p�O�n�l�y� �C�o�o�k�i�e���:�2�bkJ�a�v�a�S�c�r�i�p�t����SC�o�o�k�i�e� �:�:�:� � �#�#�#� �ۏ6��� � �3�.� ����[�s�NN�[te�v{vU_�|�~,�S+TC�S�R�F�2��b0�[x�R�[0J�W�T�����0*�� � �:�:�:� �d�e�t�a�i�l�s� ��p�Q�g wT{Hh ����j�a�v�a�s�c�r�i�p�t� �c�o�n�s�t� �e�x�p�r�e�s�s� �=� �r�e�q�u�i�r�e�(�'�e�x�p�r�e�s�s�'�)�;� �c�o�n�s�t� �b�c�r�y�p�t� �=� �r�e�q�u�i�r�e�(�'�b�c�r�y�p�t�'�)�;� �c�o�n�s�t� �j�w�t� �=� �r�e�q�u�i�r�e�(�'�j�s�o�n�w�e�b�t�o�k�e�n�'�)�;� �c�o�n�s�t� �c�s�r�f� �=� �r�e�q�u�i�r�e�(�'�c�s�u�r�f�'�)�;� �c�o�n�s�t� �c�o�o�k�i�e�P�a�r�s�e�r� �=� �r�e�q�u�i�r�e�(�'�c�o�o�k�i�e�-�p�a�r�s�e�r�'�)�;� � �c�o�n�s�t� �a�p�p� �=� �e�x�p�r�e�s�s�(�)�;� �a�p�p�.�u�s�e�(�e�x�p�r�e�s�s�.�j�s�o�n�(�)�)�;� �a�p�p�.�u�s�e�(�c�o�o�k�i�e�P�a�r�s�e�r�(�)�)�;� � �c�o�n�s�t� �S�E�C�R�E�T�_�K�E�Y� �=� �'�y�o�u�r�-�s�e�c�r�e�t�-�k�e�y�'�;� �c�o�n�s�t� �c�s�r�f�P�r�o�t�e�c�t�i�o�n� �=� �c�s�r�f�(�{� �c�o�o�k�i�e�:� �t�r�u�e� �}�)�;� � �/�/� ��l�Q �a�p�p�.�p�o�s�t�(�'�/�r�e�g�i�s�t�e�r�'�,� �a�s�y�n�c� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �/�/� ��[x�R�[ � � �c�o�n�s�t� �h�a�s�h�e�d�P�a�s�s�w�o�r�d� �=� �a�w�a�i�t� �b�c�r�y�p�t�.�h�a�s�h�(�p�a�s�s�w�o�r�d�,� �1�0�)�;� � � � � � �/�/� ��OX[0Rpenc�^(��{S)� � � �u�s�e�r�s�.�s�e�t�(�u�s�e�r�n�a�m�e�,� �{� � � � � �u�s�e�r�n�a�m�e�,� � � � � �p�a�s�s�w�o�r�d�:� �h�a�s�h�e�d�P�a�s�s�w�o�r�d� � � �}�)�;� � � � � � �r�e�s�.�j�s�o�n�(�{� �m�e�s�s�a�g�e�:� �'��l�Qb�R'� �}�)�;� �}�)�;� � �/�/� �{vU_u�b�(����SC�S�R�F� �T�o�k�e�n�)� �a�p�p�.�g�e�t�(�'�/�l�o�g�i�n�'�,� �c�s�r�f�P�r�o�t�e�c�t�i�o�n�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �r�e�s�.�j�s�o�n�(�{� �c�s�r�f�T�o�k�e�n�:� �r�e�q�.�c�s�r�f�T�o�k�e�n�(�)� �}�)�;� �}�)�;� � �/�/� �{vU_ �a�p�p�.�p�o�s�t�(�'�/�l�o�g�i�n�'�,� �c�s�r�f�P�r�o�t�e�c�t�i�o�n�,� �a�s�y�n�c� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �c�o�n�s�t� �{� �u�s�e�r�n�a�m�e�,� �p�a�s�s�w�o�r�d� �}� �=� �r�e�q�.�b�o�d�y�;� � � � � � �/�/� ��g~b(u7b � � �c�o�n�s�t� �u�s�e�r� �=� �u�s�e�r�s�.�g�e�t�(�u�s�e�r�n�a�m�e�)�;� � � �i�f� �(�!�u�s�e�r�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�j�s�o�n�(�{� �e�r�r�o�r�:� �'�(u7b NX[(W'� �}�)�;� � � �}� � � � � � �/�/� ������[x � � �c�o�n�s�t� �i�s�V�a�l�i�d� �=� �a�w�a�i�t� �b�c�r�y�p�t�.�c�o�m�p�a�r�e�(�p�a�s�s�w�o�r�d�,� �u�s�e�r�.�p�a�s�s�w�o�r�d�)�;� � � �i�f� �(�!�i�s�V�a�l�i�d�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�j�s�o�n�(�{� �e�r�r�o�r�:� �'��[x��'� �}�)�;� � � �}� � � � � � �/�/� �ubJ�W�T� � � �c�o�n�s�t� �t�o�k�e�n� �=� �j�w�t�.�s�i�g�n�(� � � � � �{� �u�s�e�r�n�a�m�e�:� �u�s�e�r�.�u�s�e�r�n�a�m�e� �}�,� � � � � �S�E�C�R�E�T�_�K�E�Y�,� � � � � �{� �e�x�p�i�r�e�s�I�n�:� �'�1�h�'� �}� � � �)�;� � � � � � �r�e�s�.�j�s�o�n�(�{� �t�o�k�e�n� �}�)�;� �}�)�;� � �/�/� �����-N���N �f�u�n�c�t�i�o�n� �a�u�t�h�e�n�t�i�c�a�t�e�T�o�k�e�n�(�r�e�q�,� �r�e�s�,� �n�e�x�t�)� �{� � � �c�o�n�s�t� �a�u�t�h�H�e�a�d�e�r� �=� �r�e�q�.�h�e�a�d�e�r�s�[�'�a�u�t�h�o�r�i�z�a�t�i�o�n�'�]�;� � � �c�o�n�s�t� �t�o�k�e�n� �=� �a�u�t�h�H�e�a�d�e�r� �&�&� �a�u�t�h�H�e�a�d�e�r�.�s�p�l�i�t�(�'� �'�)�[�1�]�;� � � � � � �i�f� �(�!�t�o�k�e�n�)� �{� � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�1�)�.�j�s�o�n�(�{� �e�r�r�o�r�:� �'�*g�c�OT�o�k�e�n�'� �}�)�;� � � �}� � � � � � �j�w�t�.�v�e�r�i�f�y�(�t�o�k�e�n�,� �S�E�C�R�E�T�_�K�E�Y�,� �(�e�r�r�,� �u�s�e�r�)� �=�>� �{� � � � � �i�f� �(�e�r�r�)� �{� � � � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�3�)�.�j�s�o�n�(�{� �e�r�r�o�r�:� �'�T�o�k�e�n��eHe'� �}�)�;� � � � � �}� � � � � �r�e�q�.�u�s�e�r� �=� �u�s�e�r�;� � � � � �n�e�x�t�(�)�;� � � �}�)�;� �}� � �/�/� ��S�O�b�v�1u �a�p�p�.�g�e�t�(�'�/�p�r�o�f�i�l�e�'�,� �a�u�t�h�e�n�t�i�c�a�t�e�T�o�k�e�n�,� �(�r�e�q�,� �r�e�s�)� �=�>� �{� � � �r�e�s�.�j�s�o�n�(�{� �u�s�e�r�n�a�m�e�:� �r�e�q�.�u�s�e�r�.�u�s�e�r�n�a�m�e� �}�)�;� �}�)�;� � �a�p�p�.�l�i�s�t�e�n�(�3�0�0�0�)�;� ���� �:�:�:� � �4�.� ����YUO2��_D�D�o�S�;e�Q?�R>N�\5��y�e�l0�� � �:�:�:� �d�e�t�a�i�l�s� ��p�Q�g wT{Hh ���D�D�o�S�2��_�e�l��:� � �1�.� ���P�Am(�R�a�t�e� �L�i�m�i�t�i�n�g�)���:� � � � ����j�a�v�a�s�c�r�i�p�t� � � � �c�o�n�s�t� �r�a�t�e�L�i�m�i�t� �=� �r�e�q�u�i�r�e�(�'�e�x�p�r�e�s�s�-�r�a�t�e�-�l�i�m�i�t�'�)�;� � � � �a�p�p�.�u�s�e�(�r�a�t�e�L�i�m�i�t�(�{� � � � � � �w�i�n�d�o�w�M�s�:� �1�5� �*� �6�0� �*� �1�0�0�0�,� � � � � � �m�a�x�:� �1�0�0� � � � �}�)�)�;� � � � ���� � �2�.� ���O(uC�D�N���:� � � � �-� �C�l�o�u�d�f�l�a�r�e�0A�W�S� �C�l�o�u�d�F�r�o�n�t� � � � �-� �RceAmϑ0RhQt���p � �3�.� ���/T(uS�Y�N� �C�o�o�k�i�e���:� � � � ����b�a�s�h� � � � �s�u�d�o� �s�y�s�c�t�l� �-�w� �n�e�t�.�i�p�v�4�.�t�c�p�_�s�y�n�c�o�o�k�i�e�s�=�1� � � � ���� � �4�.� ����X�R&^�[��:� � � � �-� �O(u9_'&^�[ � � � �-� ��QY�^%&^�[ � �5�.� ���I�P�ў TUS/�}v TUS��:� � � � ����j�a�v�a�s�c�r�i�p�t� � � � �c�o�n�s�t� �b�l�o�c�k�e�d�I�P�s� �=� �n�e�w� �S�e�t�(�[�'�1�.�2�.�3�.�4�'�]�)�;� � � � �a�p�p�.�u�s�e�(�(�r�e�q�,� �r�e�s�,� �n�e�x�t�)� �=�>� �{� � � � � � �i�f� �(�b�l�o�c�k�e�d�I�P�s�.�h�a�s�(�r�e�q�.�i�p�)�)� �{� � � � � � � � �r�e�t�u�r�n� �r�e�s�.�s�t�a�t�u�s�(�4�0�3�)�.�s�e�n�d�(�'�F�o�r�b�i�d�d�e�n�'�)�;� � � � � � �}� � � � � � �n�e�x�t�(�)�;� � � � �}�)�;� � � � ���� � �6�.� �������x��:� � � � �-� ��[�S�u��Bl��Bl����x � � � �-� �2�bkꁨRS;e�Q � �7�.� ���D�D�o�S�2��b g�R��:� � � � �-� �A�W�S� �S�h�i�e�l�d� � � � �-� �?�̑�ND�D�o�S�2��b � � � �-� �~����ND�D�o�S�2��b � �8�.� ����v�c�T�bf���:� � � � �-� ��[�e�v�cAmϑ � � � �-� �_8^AmϑꁨR�bf� � �9�.� ����}�GWa���:� � � � �-� �Rce��Bl0RY�S g�RhV � � � �-� �US�S��;e�Q Nq_�ThQ@
� �1�0�.� �
��W�e�b��^(u2�kp�X(�W�A�F�)���:� � � � � �-� �Ǐ�nva��Bl � � � � �-� �Ƌ+R;e�Q!j_ �:�:�:� � �#�#� �<ؓ� � N�Nekf[N � �m�UO!��s(WO�]�~�c�c�NQ�~�[hQ�v�W@x�wƋ0 � �*�*��^���~�~f[N��:� �-� �[��[bHh�O �-� �Q�~��c�g]�(�/�p�r�a�c�t�i�c�e�/�0�5�-�t�r�o�u�b�l�e�s�h�o�o�t�i�n�g�)� �-� ��[E��[hQ��vʋ�e�TYt �-� �[�,{1��z �-� �T�C�P� N!k�cKbN�V!k%cKb]�(�/�a�d�v�a�n�c�e�d�/�0�1�-�t�c�p�-�h�a�n�d�s�h�a�k�e�)� �-� �S�Y�N�;e�Q�v�meQt� �-� �O�W�A�S�P��[�e�ech �-� ��meQf[NW�e�b��[hQ � �*�*��cP�D��n*�*�:� �-� �O�W�A�S�P� �T�o�p� �1�0� �-� � 0W�e�b��[hQ�m�^VR�g 0 �-� �H�a�c�k�e�r�O�n�e�0B�u�g�B�o�u�n�t�y�s^�S�~N �-� �C�T�F��z[� � ��*��[hQf[N~*�*�:� �1�.� �t�8^��;e�Q�St �2�.� �f[N2���b/g �3�.� ��[���[hQx �4�.� ��SN�[hQKmՋ �5�.� �c�~sQ�l�[hQ�R � �-�-�-� � �*�*�sQ.��i�_�V~�*�*�:� �-� �' �S�Q�L��leQ�Ǐ�SpeS�g�2��_ �-� �' �X�S�S��Ǐl�INH�T�M�L��TC�S�P�2��_ �-� �' �C�S�R�F��ǏT�o�k�e�n��TS�a�m�e�S�i�t�e� �C�o�o�k�i�e�2��_ �-� �' �D�D�o�S��ǏP�Am0C�D�N�02��b g�R2��_ �-� �' �H�T�T�P�S��ǏS�S�L�/�T�L�S��R�[�O�bpenc O�� �-� �' ��[x�_{�O(ub�c�r�y�p�t�I{�{�l�R�[X[�P �-� �' ��[hQ/fc�~�vǏ z,����� N�ef[N�T�f�e � �[�ԏ�Vۏ6��Q�[]�(�/�a�d�v�a�n�c�e�d�/�)� �|� �[���Y�[bHh�O]�(�/�p�r�a�c�t�i�c�e�/�)� �

最近更新: 2025/12/26 18:42
Contributors: 王长安
Prev
第4章 - VPN 与代理