āϏāĻŽā§āĻĒā§āϰāϤāĻŋ, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻāϤāĻāĻž āĻāĻžāϞā§, āĻĻā§āϰāĻ āĻāĻžāĻāϰāĻž āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āϏāĻŋāϏā§āĻā§āĻŽ āϤā§āϰāĻŋāϤ⧠āĻāϤāĻāĻž āĻŦā§āĻĻā§āϧāĻŋāĻĻā§āĻĒā§āϤ āĻāĻŦāĻ āĻ āĻāĻŋāĻā§āĻ, āĻāϤā§āϝāĻžāĻĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒā§āϏā§āĻāĻā§āϞāĻŋ āĻšāĻžāĻŦā§āϰā§āϤ⧠āĻāϰāĻ āĻĒā§āϰāĻžāϝāĻŧāĻ āĻĻā§āĻāĻž āϝā§āϤ⧠āĻļā§āϰ⧠āĻāϰā§āĻā§āĨ¤ āĻāĻāĻ āϏāĻŽāϝāĻŧā§, āĻā§āĻŦ āĻāĻŽ āϞā§āĻāĻ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻĄāĻŋāĻāĻžāĻāϏ⧠āύāĻŋāĻā§āĻā§ āύāĻŋāĻŽāĻā§āĻāĻŋāϤ āĻāϰā§āĻā§ - āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻā§āώā§āϤā§āϰā§, āϤāĻžāϰāĻž JSON-āĻāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āϏāĻšāĻ (āĻāĻŦāĻ MTProto āĻĨā§āĻā§ āĻŦā§āĻļ āĻāϞāĻžāĻĻāĻž) āĻŦāĻ API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻā§āϰāĻšāĻŖ āĻāϰ⧠āĻŦāĻŋāĻļā§āĻŦāĻžāϏā§āϰ āĻāĻĒāϰ āϏāĻŽāϏā§āϤ āĻĒā§āϰāĻļāĻāϏāĻž āĻāĻŦāĻ āĻĒāĻŋāĻāϰ āϝāĻž āĻŽā§āϏā§āĻā§āĻāĻžāϰāĻā§ āĻāĻŋāϰā§āĨ¤ āĻĒā§āϰāĻžāϝāĻŧ āĻĻā§āĻĄāĻŧ āĻŦāĻāϰ āĻāĻā§, āĻāĻļā§āϞāύ āĻāύāĻāĻŋāĻ āĻā§āϝāĻžāϏāĻŋāϞāĻŋ-āϤ⧠āĻāĻŽāĻžāϰ āϏāĻšāĻāϰā§āĻŽā§ (āĻĻā§āϰā§āĻāĻžāĻā§āϝāĻŦāĻļāϤ, āĻāϏāĻĄāĻŧāĻžāϰ āϏāĻžāĻĨā§ āĻšāĻžāĻŦā§āϰā§āϤ⧠āϤāĻžāϰ āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ) āĻĒāĻžāϰā§āϞ⧠āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āϤāĻžāϰ āύāĻŋāĻāϏā§āĻŦ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϞāĻŋāĻāϤ⧠āĻļā§āϰ⧠āĻāϰā§āĻāĻŋāϞā§āύ āĻāĻŦāĻ āĻĒāϰ⧠āĻāĻ āϞāĻžāĻāύāĻā§āϞāĻŋāϰ āϞā§āĻāĻ āϝā§āĻāĻĻāĻžāύ āĻāϰā§āĻāĻŋāϞā§āύāĨ¤ āĻā§āύ āĻĒāĻžāϰā§āϞ, āĻā§āĻ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰāĻŦā§? āĻāĻžāϰāĻŖ āĻāĻ āϧāϰāύā§āϰ āĻĒā§āϰāĻāϞā§āĻĒāĻā§āϞāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻ āύā§āϝāĻžāύā§āϝ āĻāĻžāώāĻžāϝāĻŧ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ, āĻāϏāϞā§, āĻāĻāĻŋ āĻŦāĻŋāύā§āĻĻā§ āύāϝāĻŧ, āĻ āύā§āϝ āĻā§āύ āĻāĻžāώāĻž āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰ⧠āϝā§āĻāĻžāύ⧠āύā§āĻ āϰā§āĻĄāĻŋāĻŽā§āĻĄ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ, āĻāĻŦāĻ āϏā§āĻ āĻ āύā§āϝāĻžāϝāĻŧā§ āϞā§āĻāĻ āϏāĻŦ āĻĒāĻĨ āϝā§āϤ⧠āĻšāĻŦā§ āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§. āϤāĻžāĻāĻžāĻĄāĻŧāĻž āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāϏā§āϰ āĻŦāĻŋāώāϝāĻŧ, āϤāĻŦā§ āϝāĻžāĻāĻžāĻ āĻāϰā§āύāĨ¤ āϏā§āϰāĻā§āώāĻžāϰ āϞāĻā§āώā§āϝ⧠āĻāĻāĻāĻŋ āĻĒāĻŖā§āϝā§āϰ āϏāĻžāĻĨā§, āĻāĻĒāύāĻŋ āĻā§āĻŦāϞ āĻĒā§āϰāϏā§āϤā§āϤāĻāĻžāϰāĻā§āϰ āĻāĻžāĻ āĻĨā§āĻā§ āϤā§āϰāĻŋ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž āĻāĻŦāĻ āĻ āύā§āϧāĻāĻžāĻŦā§ āĻāĻāĻŋāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž (āϤāĻŦā§, āĻāĻāĻŋ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāώāϝāĻŧ)āĨ¤ āĻāĻ āĻŽā§āĻšā§āϰā§āϤā§, āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ "āĻāĻĄāĻŧ" āϏā§āϤāϰ⧠āĻŦā§āĻļ āĻāĻžāϞ āĻāĻžāĻ āĻāϰ⧠(āĻāĻĒāύāĻžāĻā§ āϝ⧠āĻā§āύāĻ API āĻ āύā§āϰā§āϧ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ)āĨ¤
āϝāĻžāĻāĻšā§āĻ, āĻĒā§āϏā§āĻā§āϰ āĻāĻ āϏāĻŋāϰāĻŋāĻā§ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋ āĻŦāĻž āĻāĻŖāĻŋāϤ āĻĨāĻžāĻāĻŦā§ āύāĻžāĨ¤ āϤāĻŦā§ āĻāϰāĻ āĻ āύā§āĻ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻŦāĻŋāĻŦāϰāĻŖ āĻāĻŦāĻ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻžāϞ āĻā§āϰāĻžāĻ āĻĨāĻžāĻāĻŦā§ (āϝāĻžāϰāĻž āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āϞāĻŋāĻāĻŦā§āύ āύāĻž, āϤāĻŦā§ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϝ⧠āĻā§āύāĻ āĻāĻžāώāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύ āϤāĻžāĻĻā§āϰ āĻāύā§āϝāĻ āĻĻāϰāĻāĻžāϰā§)āĨ¤ āϏā§āϤāϰāĻžāĻ, āĻŽā§āϞ āϞāĻā§āώā§āϝ āĻāĻŋāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻā§ āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻž āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻ āύā§āϝāĻžāϝāĻŧā§. āĻ āϰā§āĻĨāĻžā§, āĻ āύā§āĻŽāĻžāύ āĻāϰāĻž āϝāĻžāĻ āϝ⧠āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ āϏā§āϰā§āϏ āĻā§āĻĄ āĻŦāύā§āϧ (āĻāĻŦāĻžāϰ, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§ āĻāĻŽāϰāĻž āĻāĻ āĻŦāĻŋāώāϝāĻŧāĻāĻŋāϰ āĻŦāĻŋāώāϝāĻŧāĻāĻŋ āĻāϰāĻ āĻŦāĻŋāĻļāĻĻā§ āĻāĻāĻžāϰ āĻāϰāĻŦ āϝ⧠āĻāĻāĻŋ āϏāϤā§āϝāĨ¤ āĻāϰāĻāĻŽ āϤāĻžāĻ), āĻāĻŋāύā§āϤā§, āĻĒā§āϰāĻžāύ⧠āĻĻāĻŋāύā§āϰ āĻŽāϤā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, RFC-āĻāϰ āĻŽāϤ⧠āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϰāϝāĻŧā§āĻā§ - āϏā§āϰā§āϏ āĻā§āĻĄāĻāĻŋ "āύāĻž āĻĻā§āĻā§" āĻāĻāĻž āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻā§āĻļāύ āĻ āύā§āϝāĻžāϝāĻŧā§ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϞā§āĻāĻž āĻāĻŋ āϏāĻŽā§āĻāĻŦ, āϤāĻž āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞāĻ āĻšā§āĻ āύāĻž āĻā§āύ (āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ, āĻŽā§āĻŦāĻžāĻāϞ), āύāĻžāĻāĻŋ āĻ āύāĻžāύā§āώā§āĻ āĻžāύāĻŋāĻ āĻā§āϞāĻŋāĻĨāύ?
āϏā§āĻāĻŋāĻĒāϤā§āϰ:
āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ... āĻāĻāĻž āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ, āϤāĻžāĻ āύāĻž? āĻāĻāĻž āϏāϤā§āϝāĻŋ?..
āĻāĻ āύāĻŋāĻŦāύā§āϧāĻāĻŋāϰ āĻāύā§āϝ āύā§āĻā§āϰ āĻā§āĻāϰ⧠āĻāϤ āĻā§āϰā§āώā§āĻŽā§ āϏāĻāĻā§āϰāĻš āĻāϰāĻž āĻļā§āϰ⧠āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻāϝāĻŧā§āĻŦāϏāĻžāĻāĻā§ āĻāĻ āϏāĻŦ āϏāĻŽāϝāĻŧ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϞā§āϝāĻŧāĻžāϰ 23 āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻŋāϞ, āĻ āϰā§āĻĨāĻžā§ 2014 āϏāĻžāϞ⧠āĻā§āĻĨāĻžāĻ āĻāĻāĻā§ āĻā§āĻā§ (āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ, āϤāĻāύāĻ āĻā§āϝāĻžāύā§āϞ āĻāĻŋāϞ āύāĻž?) āĻ āĻŦāĻļā§āϝāĻ, āϤāĻžāϤā§āϤā§āĻŦāĻŋāĻāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ 2014 āϏāĻžāϞ⧠āϏā§āĻ āϏāĻŽāϝāĻŧā§ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āϏāĻš āĻāĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āĻāϝāĻŧāĻž āĻāĻāĻŋāϤ āĻāĻŋāϞāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻ āĻ āĻŦāϏā§āĻĨāĻžāϝāĻŧāĻ, āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŋāϞ, āĻĒā§āϰāĻĨāĻŽāϤ, āĻ āϏāĻŽā§āĻĒā§āϰā§āĻŖ, āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāϤ, āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻāĻāĻŋ āύāĻŋāĻā§āĻ āĻŦāĻŋāϰā§āϧāĻŋāϤāĻž āĻāϰā§āĻāĻŋāϞāĨ¤ āĻŽāĻžāϤā§āϰ āĻāĻ āĻŽāĻžāϏ āĻāĻā§, 2019 āϏāĻžāϞā§āϰ āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰā§, āĻāĻāĻŋ āĻāĻŋāϞ āĻāĻāύāĻžāĻā§āϰāĻŽā§ āĻāĻāĻŋ āĻāĻŦāĻŋāώā§āĻā§āϤ āĻšāϝāĻŧā§āĻāĻŋāϞ āϝ⧠āϏāĻžāĻāĻāĻāĻŋāϤ⧠āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύā§āϰ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻāĻĒāĻĄā§āĻ āĻāĻŋāϞ, āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ āϏā§āϤāϰ 105 āĻāϰ āĻāύā§āϝ, āĻāĻāĻāĻŋ āύā§āĻ āϏāĻš āϝ⧠āĻāĻāύ āϏāĻŦāĻāĻŋāĻā§ āĻāĻŦāĻžāϰ āĻĒāĻĄāĻŧāϤ⧠āĻšāĻŦā§āĨ¤ āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, āĻ āύā§āĻ āύāĻŋāĻŦāύā§āϧ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāĻŋāύā§āϤ⧠āĻ āύā§āĻāĻā§āϞāĻŋ āĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻāĻŋāϞāĨ¤ āĻ āϤāĻāĻŦ, āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϏāĻŽā§āĻĒāϰā§āĻā§ āύā§āĻā§āϰ āϏāĻŽāĻžāϞā§āĻāύāĻž āĻĒāĻĄāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻžāϰ āĻŽāύ⧠āϰāĻžāĻāĻž āĻāĻāĻŋāϤ āϝ⧠āĻāĻ āĻāĻŋāύāĻŋāϏāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻŋāĻā§ āĻāϰ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ āύāϝāĻŧ, āϤāĻŦā§ āĻāĻŋāĻā§ āĻāĻāύāĻ āϝāĻĨā§āώā§āĻāĨ¤ āϏāϰā§āĻŦā§āĻĒāϰāĻŋ, āĻāϧā§āύāĻŋāĻ āĻŦāĻŋāĻļā§āĻŦā§ 5 āĻŦāĻāϰ āĻā§āĻŦāϞ āĻāĻāĻāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧ āύāϝāĻŧ, āϤāĻŦā§ āĻā§āĻŦ āĻ āύā§āĻ āϏā§āĻ āϏāĻŽāϝāĻŧ āĻĨā§āĻā§ (āĻŦāĻŋāĻļā§āώāϤ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻŦāĻžāϤāĻŋāϞ āĻāϰāĻž āĻāĻŦāĻ āĻĒā§āύāϰā§āĻā§āĻā§āĻŦāĻŋāϤ āĻāĻŋāĻāĻā§āϝāĻžāĻ āϏāĻžāĻāĻāĻā§āϞāĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāύāĻžāϝāĻŧ āύāĻž āύā§āύ āϤāĻāύ āĻĨā§āĻā§), āϏā§āĻāĻŋāĻŽā§ API āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻāĻā§āϝāĻž āĻāĻāĻļ āĻĨā§āĻā§ āĻĻā§āĻāĻļ āĻĒāĻā§āĻāĻžāĻļā§āϰ āĻŦā§āĻļāĻŋ āĻšāϝāĻŧā§ āĻā§āĻā§!
āĻāĻāĻāύ āϤāϰā§āĻŖ āϞā§āĻāĻ āĻšāĻŋāϏā§āĻŦā§ āĻā§āĻĨāĻžāϝāĻŧ āĻļā§āϰ⧠āĻāϰāĻŦā§āύ?
āĻāĻĒāύāĻŋ āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āϞāĻŋāĻā§āύ āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āĻāĻŋāύāĻž āϤāĻž āĻŦāĻŋāĻŦā§āĻā§āϝ āύāϝāĻŧ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϰā§āĻĄāĻŋāĻŽā§āĻĄ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻā§āϞāĻŋ āĻŦāĻž , āϝ⧠āĻā§āύ⧠āĻā§āώā§āϤā§āϰā§, āĻāĻĒāύāĻŋ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§ āĻāĻĒāύāĻžāϰ āĻāĻŦā§āĻĻāύ āύāĻŋāĻŦāύā§āϧāύ āĻāϰā§āύ - api_id и api_hash (āϝāĻžāϰāĻž VKontakte API āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§āĻā§ āϤāĻžāϰāĻž āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰā§) āϝāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻžāϰā§āĻāĻžāϰ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāĻŦā§āĨ¤ āĻāĻ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻāύāĻŋ āĻāĻžāϰāĻŖā§ āĻāĻāĻŋ āĻāϰā§āύ, āϤāĻŦā§ āĻāĻŽāϰāĻž āĻā§āύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϞā§āĻāĻāϰāĻž āĻāĻāĻŋ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ
āĻāĻļā§ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž āϏ⧠āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āĻāĻĨāĻž āĻŦāϞāĻŦāĨ¤ āĻāĻĒāύāĻŋ āĻĒāϰā§āĻā§āώāĻžāϰ āĻŽāĻžāύ āύāĻŋāϝāĻŧā§ āϏāύā§āϤā§āώā§āĻ āĻšāϤ⧠āĻĒāĻžāϰā§āύ, āϝāĻĻāĻŋāĻ āϏā§āĻā§āϞāĻŋ āĻā§āĻŦ āϏā§āĻŽāĻŋāϤ - āĻāϏāϞ āĻŦāĻŋāώāϝāĻŧāĻāĻŋ āĻšāϞ āĻāĻāύ āĻāĻĒāύāĻŋ āύāĻŋāĻŦāύā§āϧāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻ āĻ
ā§āϝāĻžāĻĒ, āϤāĻžāĻ āϤāĻžāĻĄāĻŧāĻžāĻšā§āĻĄāĻŧāĻž āĻāϰāĻŦā§āύ āύāĻžāĨ¤
āĻāĻāύ, āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻāĻŽāĻžāĻĻā§āϰ āĻāĻ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻā§āϰāĻšā§ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ āϝ⧠āύāĻŋāĻŦāύā§āϧāĻāϰāĻŖā§āϰ āĻĒāϰ⧠āĻāĻŽāϰāĻž āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĨā§āĻā§ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ, āĻĒā§āϰā§āĻā§āĻāϞ āĻāϤā§āϝāĻžāĻĻāĻŋāϰ āĻāĻĒāĻĄā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻŋāĻā§āĻāĻĒā§āϤāĻŋāĻā§āϞāĻŋ āĻĒā§āϤ⧠āĻĒāĻžāϰāĻŋāĨ¤ āĻ āϰā§āĻĨāĻžā§, āĻā§āĻ āϧāϰ⧠āύāĻŋāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āĻĄāĻāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻžāĻāĻāĻāĻŋ āĻā§āĻŦāϞ āĻĒāϰāĻŋāϤā§āϝāĻā§āϤ āĻāĻŋāϞ āĻāĻŦāĻ āϝāĻžāϰāĻž āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻļā§āϰ⧠āĻāϰā§āĻāĻŋāϞ āϤāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āĻā§āĻā§, āĻāĻžāϰāĻŖ āĻāĻāĻž āϏāĻšāĻāϤāϰ. āĻāĻŋāύā§āϤ⧠āύāĻž, āϏā§āϰāĻāĻŽ āĻāĻŋāĻā§ āĻĒāϰāĻŋāϞāĻā§āώāĻŋāϤ āĻšāϝāĻŧāύāĻŋ, āĻā§āύ⧠āϤāĻĨā§āϝ āĻāϏā§āύāĻŋāĨ¤
āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āϞā§āĻā§āύ, āϤāĻžāĻšāϞ⧠āĻĒā§āϰāĻžāĻĒā§āϤ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāϏāϞ⧠āĻāĻāύāĻ āĻ āύā§āĻ āĻĻā§āϰā§āĨ¤ āϝāĻĻāĻŋāĻ āĻāĻŦāĻ āĻĒā§āϰāĻĨāĻŽā§ āĻļā§āϰā§āϤ⧠āϏā§āĻā§āϞāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϞā§āĻāύāĻž āĻāϰā§, āĻāϏāϞā§, āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰāĻĨāĻŽā§ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻšāĻŦā§ - āĻāĻŋāύā§āϤ⧠āϤā§āĻŽāĻŋ āϝāĻĻāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰ āĻĒā§āϰā§āĻā§āĻāϞā§āϰ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻŋāĻŦāϰāĻŖā§āϰ āĻāύā§āϝ āĻĒā§āώā§āĻ āĻžāϰ āĻļā§āώā§, āϤāĻžāϰāĻĒāϰ āĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻŦā§āĻĨāĻžāĨ¤
āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, MTProto-āĻāϰ āĻāĻā§ āĻāĻŦāĻ āĻĒāϰ⧠āĻāĻāϝāĻŧāĻ, āĻāĻāϏāĻžāĻĨā§ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āϏā§āϤāϰ⧠(āϝā§āĻŽāύ OS āĻāĻžāϰā§āύā§āϞ⧠āĻāĻžāĻ āĻāϰāĻž āĻŦāĻŋāĻĻā§āĻļā§ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻāĻžāϰāϰāĻž āĻŦāϞāĻā§āύ, āϏā§āϤāϰ āϞāĻā§āĻāύ), āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ, āĻŦā§āĻĻāύāĻžāĻĻāĻžāϝāĻŧāĻ āĻāĻŦāĻ āĻāϝāĻŧāĻžāύāĻ āĻŦāĻŋāώāϝāĻŧ āĻāϏāĻŦā§...
āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ: TL (āĻāĻžāĻāĻĒ āϞā§āϝāĻžāĻā§āĻā§āϝāĻŧā§āĻ) āĻāĻŦāĻ āĻāϰ āϏā§āĻāĻŋāĻŽ, āĻāĻŦāĻ āϞā§āϝāĻŧāĻžāϰ, āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻ āύā§āĻ āĻāϝāĻŧāĻā§āĻāϰ āĻļāĻŦā§āĻĻ
āĻāĻ āĻŦāĻŋāώāϝāĻŧāĻāĻŋ, āĻāϏāϞā§, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āϏāĻŽāϏā§āϝāĻžāϰ āĻŽā§āϞāĨ¤ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāĻā§āϰāĻāĻžāĻŦā§ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύ āϤāĻŦā§ āĻ āύā§āĻ āĻāϝāĻŧāĻā§āĻāϰ āĻļāĻŦā§āĻĻ āĻĨāĻžāĻāĻŦā§āĨ¤
āϏā§āϤāϰāĻžāĻ, āĻāĻāĻžāύ⧠āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽ. āĻāĻ āĻāĻĨāĻžāĻāĻŋ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻŽāĻžāĻĨāĻžāϝāĻŧ āĻāϏ⧠āϤāĻŦā§ āĻŦāϞā§āύ, , āĻāĻĒāύāĻŋ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻŋāύā§āϤāĻž. āϞāĻā§āώā§āϝ āĻāĻāĻ: āĻĒā§āϰā§āϰāĻŋāϤ āĻĄā§āĻāĻžāϰ āĻāĻāĻāĻŋ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āϏā§āĻ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻŋāĻā§ āĻāĻžāώāĻžāĨ¤ āĻāĻāĻžāύā§āĻ āĻŽāĻŋāϞ āĻļā§āώ āĻšāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻĒā§āĻ āĻĨā§āĻā§ , āĻ āĻĨāĻŦāĻž āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāϤā§āϏ āĻāĻžāĻ āĻĨā§āĻā§, āĻāĻŽāϰāĻž āĻāĻŋāĻā§ āϏā§āĻāĻŋāĻŽāĻž āĻā§āϞāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŦ, āĻāĻŽāϰāĻž āĻāϰāĻāĻŽ āĻāĻŋāĻā§ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦ:
int ? = Int;
long ? = Long;
double ? = Double;
string ? = String;
vector#1cb5c415 {t:Type} # [ t ] = Vector t;
rpc_error#2144ca19 error_code:int error_message:string = RpcError;
rpc_answer_unknown#5e2ad36e = RpcDropAnswer;
rpc_answer_dropped_running#cd78e586 = RpcDropAnswer;
rpc_answer_dropped#a43ad8b7 msg_id:long seq_no:int bytes:int = RpcDropAnswer;
msg_container#73f1f8dc messages:vector<%Message> = MessageContainer;
---functions---
set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:bytes = Set_client_DH_params_answer;
ping#7abe77ec ping_id:long = Pong;
ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong;
invokeAfterMsg#cb9f372d msg_id:long query:!X = X;
invokeAfterMsgs#3dc4b4f0 msg_ids:Vector<long> query:!X = X;
account.updateProfile#78515775 flags:# first_name:flags.0?string last_name:flags.1?string about:flags.2?string = User;
account.sendChangePhoneCode#8e57deb flags:# allow_flashcall:flags.0?true phone_number:string current_number:flags.0?Bool = auth.SentCode;āϝ⧠āĻŦā§āϝāĻā§āϤāĻŋ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻāĻāĻŋ āĻĻā§āĻāĻā§āύ āϤāĻŋāύāĻŋ āϏā§āĻŦāĻā§āĻāĻžāϤāĻāĻžāĻŦā§ āϝāĻž āϞā§āĻāĻž āĻāĻā§ āϤāĻžāϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ āĻāĻļ āĻāĻŋāύāϤ⧠āϏāĻā§āώāĻŽ āĻšāĻŦā§āύ - āĻāĻžāϞ, āĻāĻā§āϞāĻŋ āĻĻā§āĻļā§āϝāϤ āĻāĻžāĻ āĻžāĻŽā§ (āϝāĻĻāĻŋāĻ āύāĻžāĻŽāĻāĻŋ āĻŦāĻžāĻŽ āĻĻāĻŋāĻā§ āĻŦāĻž āĻĄāĻžāύāĻĻāĻŋāĻā§ āĻā§āĻĨāĻžāϝāĻŧ?), āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻā§āώā§āϤā§āϰ āϰāϝāĻŧā§āĻā§, āϝāĻžāϰ āĻĒāϰ⧠āĻāĻāĻāĻŋ āĻā§āϞāύā§āϰ āĻĒāϰ⧠āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āĻ āύā§āϏāϰāĻŖ āĻāϰā§... āϏāĻŽā§āĻāĻŦāϤāĨ¤ āĻāĻāĻžāύ⧠āĻā§āĻŖ āĻŦāύā§āϧāύā§āϤ⧠āϏāĻŽā§āĻāĻŦāϤ C++ āĻāϰ āĻŽāϤ⧠āĻā§āĻŽāĻĒā§āϞā§āĻ āϰāϝāĻŧā§āĻā§ (āĻāϏāϞā§, āĻŦā§āĻļ āύāĻž) āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āϏāĻŽāϏā§āϤ āĻāĻŋāĻšā§āύā§āϰ āĻ āϰā§āĻĨ āĻā§, āĻĒā§āϰāĻļā§āύ āĻāĻŋāĻšā§āύ, āĻŦāĻŋāϏā§āĻŽāϝāĻŧāĻŦā§āϧāĻ āĻāĻŋāĻšā§āύ, āĻļāϤāĻžāĻāĻļ, āĻšā§āϝāĻžāĻļ āĻāĻŋāĻšā§āύ (āĻāĻŦāĻ āϏā§āĻĒāώā§āĻāϤāĻ āϤāĻžāϰāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻŋāύāĻŋāϏ āĻŦā§āĻāĻžāϝāĻŧ), āĻāĻāύāĻ āĻāĻāύāĻ āĻāĻĒāϏā§āĻĨāĻŋāϤ āĻāĻŦāĻ āĻāĻāύāĻ āĻāĻāύāĻ āύāϝāĻŧ, āĻšā§āĻā§āϏāĻžāĻĄā§āϏāĻŋāĻŽā§āϞ āϏāĻāĻā§āϝāĻž - āĻāĻŦāĻ āϏāĻŦāĻā§āϝāĻŧā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§, āĻā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻĨā§āĻā§ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ āĻ āϧāĻŋāĻāĻžāϰ (āϝāĻž āϏāĻžāϰā§āĻāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāϤā§āϝāĻžāĻā§āϝāĻžāύ āĻāϰāĻž āĻšāĻŦā§ āύāĻž) āĻŦāĻžāĻāĻ āϏā§āĻā§āϰāĻŋāĻŽ? āĻāĻĒāύāĻžāĻā§ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒāĻĄāĻŧāϤ⧠āĻšāĻŦā§ (āĻšā§āϝāĻžāĻ, āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ JSON āϏāĻāϏā§āĻāϰāĻŖā§ āϏā§āĻāĻŋāĻŽāĻžāϰ āϞāĻŋāĻā§āĻ āϰāϝāĻŧā§āĻā§ - āϤāĻŦā§ āĻāĻāĻŋ āĻāĻāĻŋāĻā§ āĻāϰāĻ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāϰ⧠āύāĻž).
āĻĒā§āĻ āĻā§āϞā§āύ āĻāĻŦāĻ āĻŽāĻžāĻļāϰā§āĻŽ āĻāĻŦāĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻāĻŖāĻŋāϤā§āϰ āĻāĻžāĻĻā§āĻāϰ⧠āĻāĻāϤ⧠āĻĄā§āĻŦ āĻĻāĻŋāύ, 4āϰā§āĻĨ āĻŦāĻāϰ⧠āĻŽāĻžāϤāĻžāύā§āϰ āĻŽāϤ⧠āĻāĻŋāĻā§āĨ¤ āĻŦāϰā§āĻŖāĻŽāĻžāϞāĻž, āĻĒā§āϰāĻāĻžāϰ, āĻŽāĻžāύ, āϏāĻāϝā§āĻāĻ, āĻāĻžāϰā§āϝāĻāϰ⧠āϏāĻāϝā§āĻāĻ, āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻĢāϰā§āĻŽ, āϝā§āĻāĻŋāĻ āĻĒā§āϰāĻāĻžāϰ, āĻĒāϞāĻŋāĻŽāϰāĻĢāĻŋāĻ āĻāĻžāĻāĻĒ... āĻāĻŦāĻ āĻāĻāĻŋ āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āώā§āĻ āĻž! āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻĒāύāĻžāϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻā§ , āϝāĻž, āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āϤā§āĻā§āĻ āĻ āύā§āϰā§āϧ āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāϰ āĻāĻĻāĻžāĻšāϰāĻŖ āϧāĻžāϰāĻŖ āĻāϰā§, āĻāĻāĻŋ āĻāϰāĻ āϏāĻžāϧāĻžāϰāĻŖ āĻā§āώā§āϤā§āϰ⧠āĻŽā§āĻā§āĻ āĻāĻāĻāĻŋ āĻāϤā§āϤāϰ āĻĒā§āϰāĻĻāĻžāύ āĻāϰ⧠āύāĻž, āϝāĻžāϰ āĻŽāĻžāύ⧠āĻšāϞ āϝ⧠āĻāĻĒāύāĻžāĻā§ āĻāϰāĻ āĻāĻāĻāĻŋ āĻāĻŽāĻŦā§āĻĄā§āĻĄā§āϰ āĻāĻĒāϰ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻĨā§āĻā§ āĻāĻāϰā§āĻāĻŋāϤ⧠āĻ āύā§āĻŦāĻžāĻĻ āĻāϰāĻž āĻāĻŖāĻŋāϤā§āϰ āĻĒā§āύāĻāĻāĻžāώāĻžāϰ āĻŽāϧā§āϝ āĻĻāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻšāĻŦā§āĨ¤ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ
āĻĢāĻžāĻāĻļāύāĻžāϞ āϞā§āϝāĻžāĻā§āĻā§āϝāĻŧā§āĻ āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻāĻžāĻāĻĒ āĻāύāĻĢāĻžāϰā§āύā§āϏā§āϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻĒāĻžāĻ āĻāϰāĻž āĻ āĻŦāĻļā§āϝāĻ āĻāĻ āĻāĻžāώāĻžāϝāĻŧ āĻŦāϰā§āĻŖāύāĻžāϰ āĻāĻžāώāĻž āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦā§āύ, āĻāĻŽāύāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĨā§āĻā§āĻ āĻ āύā§āĻ āĻŦā§āĻļāĻŋ āĻĒāϰāĻŋāĻāĻŋāϤ, āĻāĻŦāĻ āĻŦāϞāϤ⧠āĻĒāĻžāϰā§āύ āϝ⧠āĻāĻāĻŋ āĻāϏāϞ⧠āύā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§ āĻāĻžāϰāĻžāĻĒ āύāϝāĻŧāĨ¤ āĻāĻ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻĒāϤā§āϤāĻŋāĻā§āϞāĻŋ āĻšāϞ:
- āĻšā§āϝāĻžāĻ, ŅĐĩĐģŅ āĻāĻžāϞ āĻļā§āύāĻžāĻā§āĻā§, āĻāĻŋāύā§āϤ⧠āĻšāĻžāϝāĻŧ, āϏ⧠āĻ āϰā§āĻāĻŋāϤ āύāĻž
- āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻŦāĻŋāĻļā§āĻŦāĻŦāĻŋāĻĻā§āϝāĻžāϞāϝāĻŧāĻā§āϞāĻŋāϤ⧠āĻļāĻŋāĻā§āώāĻž āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώāϤā§āĻŦā§āϰ āĻŽāϧā§āϝā§āĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧ - āĻĒā§āϰāϤā§āϝā§āĻā§āĻ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻā§āϰā§āϏ āĻā§āϰāĻšāĻŖ āĻāϰā§āύāĻŋ
- āĻ āĻŦāĻļā§āώā§, āĻāĻŽāϰāĻž āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦ, āĻŦāĻžāϏā§āϤāĻŦā§ āϤāĻž āĻšāϝāĻŧ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ, āϝā§āĻšā§āϤ⧠āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŽāύ TL-āĻāϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āϏā§āĻŽāĻŋāϤ āĻāĻĒāϏā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§
āϝā§āĻŽāύ āĻŦāϞāϞ⧠āĻā§āϝāĻžāύā§āϞ⧠#perl āĻĢā§āϰāĻŋāύā§āĻĄ āĻāĻāĻāϰāϏāĻŋ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻā§, āϝāĻŋāύāĻŋ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĨā§āĻā§ āĻŽā§āϝāĻžāĻā§āϰāĻŋāĻā§āϏ⧠āĻāĻāĻāĻŋ āĻā§āĻ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāϞā§āύ (āĻāĻĻā§āϧā§āϤāĻŋāĻāĻŋāϰ āĻ
āύā§āĻŦāĻžāĻĻ āĻŽā§āĻŽāϰāĻŋ āĻĨā§āĻā§ āĻā§āϞ):
āĻŽāύ⧠āĻšāĻā§āĻā§ āĻā§āĻ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰā§āϰ āĻŽāϤ⧠āĻĨāĻŋāĻāϰāĻŋ āĻāĻžāĻāĻĒ āĻāϰāĻžāϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāϤā§āϤā§āĻāĻŋāϤ āĻšāϝāĻŧā§ āĻĒāĻĄāĻŧā§āĻāĻŋāϞ āĻāĻŦāĻ āĻāĻāĻŋāϰ āϏāĻžāĻĨā§ āĻā§āϞāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāϤ⧠āĻļā§āϰ⧠āĻāϰā§āĻāĻŋāϞ, āĻŦāĻžāϏā§āϤāĻŦā§ āĻāĻāĻŋ āĻ āύā§āĻļā§āϞāύ⧠āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻŋāϞ āĻāĻŋāύāĻž āϤāĻž āĻāĻŋāύā§āϤāĻž āĻāϰ⧠āύāĻžāĨ¤
āύāĻŋāĻā§āϰ āĻāύā§āϝ āĻĻā§āĻā§āύ, āϝāĻĻāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻāĻŋāĻā§ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦā§āϝāĻŧāĻžāϰ-āĻāĻžāĻāĻĒ (int, long, āĻāϤā§āϝāĻžāĻĻāĻŋ) āĻāϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻĒā§āϰāĻļā§āύ āĻāϤā§āĻĨāĻžāĻĒāύ āύāĻž āĻāϰ⧠- āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āϏā§āĻā§āϞāĻŋāĻā§ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ - āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāϏā§āύ āϏā§āĻā§āϞāĻŋ āĻĨā§āĻā§ āĻŦā§āϰ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻž āϝāĻžāĻ āĻā§āĻā§āĻāϰ. āĻ āϰā§āĻĨāĻžā§ āĻāϏāϞā§, āĻ ā§āϝāĻžāϰā§, āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ āĻāĻŋāύāĻŋāϏāĻā§āϞāĻŋāĻā§ āϤāĻžāĻĻā§āϰ āϏāĻ āĻŋāĻ āύāĻžāĻŽā§ āĻĄāĻžāĻā§āύāĨ¤
āĻāĻŋāύā§āϤ⧠āĻāĻā§
āϝāĻžāϰāĻž āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒāĻĄāĻŧā§āύ āύāĻž āϤāĻžāĻĻā§āϰ āĻāύā§āϝ TL āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏā§āϰ āĻāĻāĻāĻŋ āĻāĻĒāϏā§āĻā§āϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻŦāĻŋāĻŦāϰāĻŖ
constructor = Type;
myVec ids:Vector<long> = Type;
fixed#abcdef34 id:int = Type2;
fixedVec set:Vector<Type2> = FixedVec;
constructorOne#crc32 field1:int = PolymorType;
constructorTwo#2crc32 field_a:long field_b:Type3 field_c:int = PolymorType;
constructorThree#deadcrc bit_flags_of_what_really_present:# optional_field4:bit_flags_of_what_really_present.1?Type = PolymorType;
an_id#12abcd34 id:int = Type3;
a_null#6789cdef = Type3;āϏāĻāĻā§āĻāĻž āϏāϰā§āĻŦāĻĻāĻž āĻļā§āϰ⧠āĻšāϝāĻŧ āĻĄāĻŋāĻāĻžāĻāύāĻžāϰ, āϤāĻžāϰāĻĒāϰ āĻāĻā§āĻāĻŋāĻāĻāĻžāĻŦā§ (āĻ
āĻā§āϝāĻžāϏ⧠- āϏāĻŦāϏāĻŽāϝāĻŧ) āĻĒā§āϰāϤā§āĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ # āĻšāϤ⧠āĻšāĻŦā§ CRC32 āĻāĻ āϧāϰāύā§āϰ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻŦāϰā§āĻŖāύāĻž āϏā§āĻā§āϰāĻŋāĻ āĻĨā§āĻā§āĨ¤ āĻāϰāĻĒāϰ⧠āĻā§āώā§āϤā§āϰāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āĻŦāĻŋāĻŦāϰāĻŖ āĻāϏā§; āϝāĻĻāĻŋ āϏā§āĻā§āϞāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻĨāĻžāĻā§ āϤāĻŦā§ āϧāϰāύāĻāĻŋ āĻāĻžāϞāĻŋ āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻāĻŋ āϏāĻŦ āĻāĻāĻāĻŋ āϏāĻŽāĻžāύ āĻāĻŋāĻšā§āύ āĻĻāĻŋāϝāĻŧā§ āĻļā§āώ āĻšāϝāĻŧ, āĻāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āϝ⧠āϧāϰāύā§āϰ āύāĻžāĻŽ - āϝā§āĻāĻŋ āĻāϏāϞā§, āϏāĻžāĻŦāĻāĻžāĻāĻĒ - āĻāϰ āĻ
āύā§āϤāϰā§āĻāϤāĨ¤ āϏāĻŽāĻžāύ āĻāĻŋāĻšā§āύā§āϰ āĻĄāĻžāύāĻĻāĻŋāĻā§āϰ āϞā§āĻāĻāĻŋ āĻŦāĻšā§āϰā§āĻĒā§ - āϝā§, āĻŦāĻŋāĻāĻŋāύā§āύ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϧāϰāύā§āϰ āĻāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤
āϝāĻĻāĻŋ āϞāĻžāĻāύā§āϰ āĻĒāϰ⧠āϏāĻāĻā§āĻāĻž āĻšāϝāĻŧ ---functions---, āϤāĻžāĻšāϞ⧠āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻāĻāĻ āĻĨāĻžāĻāĻŦā§, āĻāĻŋāύā§āϤ⧠āĻ
āϰā§āĻĨ āĻāĻŋāύā§āύ āĻšāĻŦā§: āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ RPC āĻĢāĻžāĻāĻļāύā§āϰ āύāĻžāĻŽ āĻšāϝāĻŧā§ āϝāĻžāĻŦā§, āĻā§āώā§āϤā§āϰāĻā§āϞāĻŋ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āĻšāϝāĻŧā§ āϝāĻžāĻŦā§ (āĻāĻžāϞ, āĻ
āϰā§āĻĨāĻžā§, āĻāĻāĻŋ āĻ āĻŋāĻ āĻāĻāĻ āĻĒā§āϰāĻĻāϤā§āϤ āĻāĻžāĻ āĻžāĻŽā§ āĻĨāĻžāĻāĻŦā§, āϝā§āĻŽāύ āύā§āĻā§ āĻŦāϰā§āĻŖāĻŋāϤ āĻšāϝāĻŧā§āĻā§ , āĻāĻāĻŋ āĻā§āĻŦāϞ āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āĻ
āϰā§āĻĨ āĻšāĻŦā§), āĻāĻŦāĻ "āĻĒāϞāĻŋāĻŽāϰāĻĢāĻŋāĻ āĻāĻžāĻāĻĒ " - āĻĒā§āϰāϤā§āϝāĻžāĻŦāϰā§āϤāĻŋāϤ āĻĢāϞāĻžāĻĢāϞā§āϰ āĻĒā§āϰāĻāĻžāϰāĨ¤ āϏāϤā§āϝ, āĻāĻāĻŋ āĻāĻāύāĻ āĻŦāĻšā§āϰā§āĻĒā§ āĻĨāĻžāĻāĻŦā§ - āĻļā§āϧ⧠āĻŦāĻŋāĻāĻžāĻā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ ---types---, āĻāĻŋāύā§āϤ⧠āĻāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ "āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āĻšāĻŦā§ āύāĻž"āĨ¤ āϤāĻžāĻĻā§āϰ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āĻĻā§āĻŦāĻžāϰāĻž āĻāϞ āĻĢāĻžāĻāĻļāύ āϧāϰāύā§āϰ āĻāĻāĻžāϰāϞā§āĻĄāĻŋāĻ, āϝā§āĻŽāύ āĻāĻŋāĻā§ āĻāĻžāϰāĻŖā§, āĻāĻāĻ āύāĻžāĻŽā§āϰ āĻāĻŋāύā§āϤ⧠āĻāĻŋāύā§āύ āϏā§āĻŦāĻžāĻā§āώāϰ āϏāĻš āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ, āϝā§āĻŽāύ C++, TL-āϤ⧠āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ āύāĻžāĨ¤
āĻā§āύ "āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ" āĻāĻŦāĻ "āĻĒāϞāĻŋāĻŽāϰāĻĢāĻŋāĻ" āϝāĻĻāĻŋ āĻāĻāĻŋ OOP āύāĻž āĻšāϝāĻŧ? āĻ āĻŋāĻ āĻāĻā§, āĻāϏāϞā§, āĻāĻžāϰ⧠āĻĒāĻā§āώ⧠OOP āĻĒāĻĻā§ āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāύā§āϤāĻž āĻāϰāĻž āϏāĻšāĻ āĻšāĻŦā§ - āĻāĻāĻāĻŋ āĻŦāĻŋāĻŽā§āϰā§āϤ āĻļā§āϰā§āĻŖā§ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻĒāϞāĻŋāĻŽāϰāĻĢāĻŋāĻ āĻāĻžāĻāĻĒ, āĻāĻŦāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰāϰāĻž āĻšāϞ āĻāϰ āϏāϰāĻžāϏāϰāĻŋ āĻŦāĻāĻļāϧāϰ āĻļā§āϰā§āĻŖā§, āĻāĻŦāĻ final āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻāĻžāώāĻžāϰ āĻĒāϰāĻŋāĻāĻžāώāĻžāϝāĻŧāĨ¤ āĻāϏāϞā§, āĻ
āĻŦāĻļā§āϝāĻ, āĻāĻāĻžāύ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŽāĻŋāϞ OO āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāϝāĻŧ āĻŦāĻžāϏā§āϤāĻŦ āĻāĻāĻžāϰāϞā§āĻĄā§āĻĄ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻĒāĻĻā§āϧāϤāĻŋ āϏāĻšāĨ¤ āϝā§āĻšā§āϤ⧠āĻāĻāĻžāύ⧠āĻļā§āϧ⧠āĻĄāĻžāĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ, āϤāĻžāĻ āĻā§āύ āĻĒāĻĻā§āϧāϤāĻŋ āύā§āĻ (āϝāĻĻāĻŋāĻ āĻĢāĻžāĻāĻļāύ āĻāĻŦāĻ āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻŦāϰā§āĻŖāύāĻž āĻŽāĻžāĻĨāĻžāϝāĻŧ āĻŦāĻŋāĻā§āϰāĻžāύā§āϤāĻŋ āϤā§āϰāĻŋ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āϝ⧠āϏā§āĻā§āϞāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ, āϤāĻŦā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻŦāĻŋāώāϝāĻŧ) - āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰāĻā§ āĻāĻāĻāĻŋ āĻŽāĻžāύ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻŦāϤ⧠āĻĒāĻžāϰā§āύ āϝāĻž āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻž āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻāĻ āϏā§āĻā§āϰāĻŋāĻŽ āĻĒāĻĄāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻžāĻāĻĒ āĻāϰā§āύāĨ¤
āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻšāϝāĻŧ? deserializer, āϝāĻž āϏāϰā§āĻŦāĻĻāĻž 4 āĻŦāĻžāĻāĻ āĻĒāĻĄāĻŧā§, āĻŽāĻžāύ āĻĻā§āĻā§ 0xcrc32 - āĻāĻŦāĻ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰ⧠āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻŋ āĻšāĻŦā§ field1 āĻāĻžāĻāĻĒ āϏāĻš int, āĻ
āϰā§āĻĨāĻžā§ āĻ āĻŋāĻ 4 āĻŦāĻžāĻāĻ āĻĒāĻĄāĻŧā§, āĻāϰ āĻāĻĒāϰ āĻāĻžāĻāĻĒ āϏāĻš āĻāĻāĻžāϰāϞāĻžāĻāĻ āĻĢāĻŋāϞā§āĻĄ PolymorType āĻĒāĻĄāĻŧāĻž āĻĻā§āĻā§ 0x2crc32 āĻāĻŦāĻ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āĻāϰāĻ āĻĻā§āĻāĻŋ āĻā§āώā§āϤā§āϰ āϰāϝāĻŧā§āĻā§, āĻĒā§āϰāĻĨāĻŽ long, āϝāĻžāϰ āĻŽāĻžāύ⧠āĻāĻŽāϰāĻž 8 āĻŦāĻžāĻāĻ āĻĒāĻĄāĻŧāĻŋāĨ¤ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ āĻāĻŦāĻžāϰ āĻāĻāĻāĻŋ āĻāĻāĻŋāϞ āϧāϰāύā§āϰ, āϝāĻž āĻāĻāĻ āĻāĻžāĻŦā§ deserialized āĻšāϝāĻŧ. āĻāĻĻāĻžāĻšāϰāĻŖ āϏā§āĻŦāϰā§āĻĒ, Type3 āϝāĻĨāĻžāĻā§āϰāĻŽā§ āĻĻā§āĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āϏāĻžāϰā§āĻāĻŋāĻā§ āĻā§āώāĻŖāĻž āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϤāĻžāϰāĻĒāϰ āϤāĻžāĻĻā§āϰ āĻ
āĻŦāĻļā§āϝāĻ āĻĻā§āĻāĻž āĻšāĻŦā§ 0x12abcd34, āϤāĻžāϰāĻĒāϰ⧠āĻāĻĒāύāĻžāĻā§ āĻāϰāĻ 4 āĻŦāĻžāĻāĻ āĻĒāĻĄāĻŧāϤ⧠āĻšāĻŦā§ int, āĻŦāĻž 0x6789cdef, āϤāĻžāϰāĻĒāϰ āĻāĻŋāĻā§āĻ āĻšāĻŦā§ āύāĻž. āĻ
āύā§āϝ āĻāĻŋāĻā§ - āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻŦā§āϝāϤāĻŋāĻā§āϰāĻŽ āύāĻŋāĻā§āώā§āĻĒ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāϰ āĻĒāϰ⧠āĻāĻŽāϰāĻž 4 āĻŦāĻžāĻāĻ āĻĒāĻĄāĻŧāϤ⧠āĻĢāĻŋāϰ⧠āϝāĻžāĻ int āĻā§āώā§āϤā§āϰ field_c в constructorTwo āĻāĻŦāĻ āĻāϰ āϏāĻžāĻĨā§ āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻĒāĻĄāĻŧāĻž āĻļā§āώ āĻāϰāĻŋ PolymorType.
āĻ
āĻŦāĻļā§āώ⧠āϧāϰāĻž āĻĒāĻĄāĻŧāϞ⧠0xdeadcrc āĻĨā§āĻā§ constructorThree, āϤāĻžāϰāĻĒāϰ āϏāĻŦāĻāĻŋāĻā§ āĻāϰāĻ āĻāĻāĻŋāϞ āĻšāϝāĻŧā§ āĻāĻ ā§āĨ¤ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻŽāĻžāĻ bit_flags_of_what_really_present āĻāĻžāĻāĻĒ āϏāĻš # - āĻāϏāϞā§, āĻāĻāĻŋ āĻāĻžāĻāĻĒā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻĒāύāĻžāĻŽ nat, āĻŽāĻžāύ⧠"āĻĒā§āϰāĻžāĻā§āϤāĻŋāĻ āϏāĻāĻā§āϝāĻž"āĨ¤ āϝā§, āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, āϏā§āĻŦāĻžāĻā§āώāϰāĻŦāĻŋāĻšā§āύ int āĻšāϞ, āĻāĻĒāĻžāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž, āĻāĻāĻŽāĻžāϤā§āϰ āĻā§āώā§āϤā§āϰ⧠āϝāĻāύ āϏā§āĻŦāĻžāĻā§āώāϰāĻŦāĻŋāĻšā§āύ āϏāĻāĻā§āϝāĻž āĻŦāĻžāϏā§āϤāĻŦ āϏāĻžāϰā§āĻāĻŋāĻā§ āĻāĻā§āĨ¤ āϏā§āϤāϰāĻžāĻ, āĻĒāϰāĻŦāϰā§āϤā§āĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āϰāĻļā§āύāĻŦā§āϧāĻ āĻāĻŋāĻšā§āύ āϏāĻš āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŽāĻžāĻŖ, āϝāĻžāϰ āĻ
āϰā§āĻĨ āĻāĻ āĻā§āώā§āϤā§āϰāĻāĻŋ - āĻāĻāĻŋ āĻā§āĻŦāϞāĻŽāĻžāϤā§āϰ āϤāĻžāϰā§āϰ āĻāĻĒāϰ āĻāĻĒāϏā§āĻĨāĻŋāϤ āĻĨāĻžāĻāĻŦā§ āϝāĻĻāĻŋ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻŦāĻŋāĻāĻāĻŋ āĻāϞā§āϞā§āĻ āĻāϰāĻž āĻā§āώā§āϤā§āϰ⧠āϏā§āĻ āĻāϰāĻž āĻĨāĻžāĻā§ (āĻĒā§āϰāĻžāϝāĻŧ āĻāĻāĻāĻŋ āĻāĻžāϰā§āύāĻžāϰāĻŋ āĻ
āĻĒāĻžāϰā§āĻāϰā§āϰ āĻŽāϤā§)āĨ¤ āϏā§āϤāϰāĻžāĻ, āϧāϰ⧠āύā§āĻāϝāĻŧāĻž āϝāĻžāĻ āϝ⧠āĻāĻ āĻŦāĻŋāĻāĻāĻŋ āϏā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āϝāĻžāϰ āĻŽāĻžāύ⧠āĻāϰāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰ āĻĒāĻĄāĻŧāϤ⧠āĻšāĻŦā§ Type, āϝāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§ 2āĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻžāϞāĻŋ (āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āύāĻŋāϝāĻŧā§ āĻāĻ āĻŋāϤ), āĻ
āύā§āϝāĻāĻŋāϰ āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰ āϰāϝāĻŧā§āĻā§ ids āĻāĻžāĻāĻĒ āϏāĻš ids:Vector<long>.
āĻāĻĒāύāĻŋ āĻāĻžāĻŦāϤ⧠āĻĒāĻžāϰā§āύ āϝ⧠āĻā§āĻŽāĻĒā§āϞā§āĻ āĻāĻŦāĻ āĻā§āύā§āϰāĻŋāĻ āĻāĻāϝāĻŧāĻ āĻĒā§āĻļāĻžāĻĻāĻžāϰ āĻŦāĻž āĻāĻžāĻāĻžāϤ⧠āϰāϝāĻŧā§āĻā§āĨ¤ āĻāĻŋāύā§āϤ⧠āύāĻž. āĻĒā§āϰāĻžāϝāĻŧāĨ¤ āĻāĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦāĻžāϏā§āϤāĻŦ āϏāĻžāϰā§āĻāĻŋāĻā§ āĻā§āĻŖ āĻŦāύā§āϧāύ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻā§āώā§āϤā§āϰā§, āĻāĻŦāĻ āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻā§āĻā§āĻāϰā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻāĻāĻāĻŋ āĻŦāĻžāĻāĻ āϏā§āĻā§āϰā§āĻŽā§, āĻāĻā§āϞāĻŋ āĻā§āĻā§āĻāϰ āĻāĻžāĻāĻĒā§āϰ āĻāύā§āϝ 4 CRC32 āĻŦāĻžāĻāĻ āĻšāĻŦā§, āϏāϰā§āĻŦāĻĻāĻž āĻāĻāĻ, āϤāĻžāϰāĻĒāϰ 4 āĻŦāĻžāĻāĻ - āĻ ā§āϝāĻžāϰā§āϰ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞāĻŋāϰ āϏāĻāĻā§āϝāĻž āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻāĻ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞāĻŋ āύāĻŋāĻā§āĻāĨ¤
āĻāϰ āϏāĻžāĻĨā§ āϝā§āĻ āĻāϰā§āύ āϝ⧠āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āϏāϰā§āĻŦāĻĻāĻž 4 āĻŦāĻžāĻāĻā§āϰ āĻļāĻŦā§āĻĻā§ āĻāĻā§, āϏāĻŽāϏā§āϤ āĻĒā§āϰāĻāĻžāϰ āĻāĻāĻŋāϰ āĻā§āĻŖāĻŋāϤāĻ - āĻ
āύā§āϤāϰā§āύāĻŋāϰā§āĻŽāĻŋāϤ āĻĒā§āϰāĻāĻžāϰāĻā§āϞāĻŋāĻ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ bytes и string āĻĻā§āϰā§āĻā§āϝā§āϰ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻāĻŦāĻ 4 āĻĻā§āĻŦāĻžāϰāĻž āĻāĻ āĻĒā§āϰāĻžāύā§āϤāĻŋāĻāĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ - āĻāĻžāϞ, āĻāĻāĻŋ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻŦāĻ āĻāĻŽāύāĻāĻŋ āϤā§āϞāύāĻžāĻŽā§āϞāĻāĻāĻžāĻŦā§ āĻāĻžāϰā§āϝāĻāϰ āĻŦāϞ⧠āĻŽāύ⧠āĻšāĻā§āĻā§? āϝāĻĻāĻŋāĻ TL āĻā§ āĻāĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻŦāϞ⧠āĻĻāĻžāĻŦāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āϤāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻšāĻžāύā§āύāĻžāĻŽā§, āĻĒā§āϰāĻžāϝāĻŧ āĻāĻŋāĻā§āϰ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ āϏāĻš, āĻāĻŽāύāĻāĻŋ āĻŦā§āϞāĻŋāϝāĻŧāĻžāύ āĻŽāĻžāύ āĻāĻŦāĻ āĻāĻāĻ-āĻ
āĻā§āώāϰ āϏā§āĻā§āϰāĻŋāĻ 4 āĻŦāĻžāĻāĻā§, JSON āĻāĻŋ āĻāĻāύāĻ āĻ
āύā§āĻ āĻŽā§āĻāĻž āĻšāĻŦā§? āĻĻā§āĻā§āύ, āĻāĻŽāύāĻāĻŋ āĻ
āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻā§āώā§āϤā§āϰāĻā§āϞāĻŋāĻ āĻŦāĻŋāĻ āĻĢā§āϞā§āϝāĻžāĻ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻĒāĻžāϰā§, āϏāĻŦāĻāĻŋāĻā§āĻ āĻŦā§āĻļ āĻāĻžāϞ, āĻāĻŽāύāĻāĻŋ āĻāĻŦāĻŋāώā§āϝāϤā§āϰ āĻāύā§āϝāĻ āĻāĻā§āϏāĻā§āύāϏāĻŋāĻŦāϞ, āϤāĻžāĻšāϞ⧠āĻā§āύ āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ⧠āύāϤā§āύ āĻāĻā§āĻāĻŋāĻ āĻā§āώā§āϤā§āϰ āϝā§āĻā§āϤ āĻāϰāĻŦā§āύ āύāĻž?...
āĻāĻŋāύā§āϤ⧠āύāĻž, āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻŽāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻŦāĻŋāĻŦāϰāĻŖ āύāĻž āĻĒāĻĄāĻŧā§āύ, āϤāĻŦā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒāĻĄāĻŧā§āύ āĻāĻŦāĻ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāύā§āϤāĻž āĻāϰā§āύāĨ¤ āĻĒā§āϰāĻĨāĻŽāϤ, āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰā§āϰ CRC32 āϏā§āĻāĻŋāĻŽā§āϰ āĻĒāĻžāĻ ā§āϝ āĻŦāĻŋāĻŦāϰāĻŖā§āϰ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āϞāĻžāĻāύ āĻ āύā§āϏāĻžāϰ⧠āĻāĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧ (āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ āĻŽā§āĻā§ āĻĢā§āϞā§āύ, āĻāϤā§āϝāĻžāĻĻāĻŋ) - āϤāĻžāĻ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āύāϤā§āύ āĻā§āώā§āϤā§āϰ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻžāĻāĻĒ āĻŦāĻŋāĻŦāϰāĻŖ āϞāĻžāĻāύāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāĻŦā§ āĻāĻŦāĻ āϤāĻžāĻ āĻāĻāĻŋāϰ CRC32 āĻāĻŦāĻ , āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻā§āϰāĻŽāĻŋāĻāĻāϰāĻŖāĨ¤ āĻāĻŦāĻ āĻĒā§āϰāĻžāύ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻŋ āĻāϰāĻŦā§ āϝāĻĻāĻŋ āϏ⧠āύāϤā§āύ āĻĒāϤāĻžāĻāĻž āϏā§āĻ āϏāĻš āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰ āĻĒāĻžāϝāĻŧ, āĻāĻŦāĻ āϏ⧠āĻāĻžāύ⧠āύāĻž āϝ⧠āϏā§āĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻā§ āĻāϰāϤ⧠āĻšāĻŦā§? ..
āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāϤ, āĻāϏā§āύ āĻŽāύ⧠āĻāϰāĻŋ CRC32, āϝāĻž āĻāĻāĻžāύ⧠āĻŽā§āϞāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻšā§āϝāĻžāĻļ āĻĢāĻžāĻāĻļāύ āĻāĻŋ āϧāϰāύā§āϰ (āĻĄāĻŋ) āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻž āĻšāĻā§āĻā§ āϤāĻž āĻ āύāύā§āϝāĻāĻžāĻŦā§ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤā§āĨ¤ āĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž āϏāĻāĻāϰā§āώā§āϰ āϏāĻŽāϏā§āϝāĻžāϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāĻā§āĻāĻŋ - āĻāĻŦāĻ āύāĻž, āϏāĻŽā§āĻāĻžāĻŦāύāĻž 232 āĻāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āύāϝāĻŧ, āϤāĻŦā§ āĻ āύā§āĻ āĻŦā§āĻļāĻŋāĨ¤ āĻā§ āĻŽāύ⧠āϰā§āĻā§āĻā§ āϝ⧠CRC32 āϝā§āĻāĻžāϝā§āĻ āĻā§āϝāĻžāύā§āϞ⧠āϤā§āϰā§āĻāĻŋ āϏāύāĻžāĻā§āϤ (āĻāĻŦāĻ āϏāĻāĻļā§āϧāύ) āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻŦāĻ āϏā§āĻ āĻ āύā§āϝāĻžāϝāĻŧā§ āĻ āύā§āϝāĻĻā§āϰ āĻā§āώāϤāĻŋāϰ āĻāύā§āϝ āĻāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāĻā§ āĻāύā§āύāϤ āĻāϰā§? āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻŋ āĻŦāĻžāĻāĻāĻā§āϞāĻŋ āĻĒā§āύāϰā§āĻŦāĻŋāύā§āϝāĻžāϏ āĻāϰāĻžāϰ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻŋāύā§āϤāĻž āĻāϰ⧠āύāĻž: āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĻā§āĻāĻŋ āϞāĻžāĻāύ āĻĨā§āĻā§ CRC32 āĻāĻŖāύāĻž āĻāϰā§āύ, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋāϤ⧠āĻāĻĒāύāĻŋ āĻĒā§āϰāĻĨāĻŽ 4 āĻŦāĻžāĻāĻ āĻĒāϰāĻŦāϰā§āϤ⧠4 āĻŦāĻžāĻāĻā§āϰ āϏāĻžāĻĨā§ āĻ āĻĻāϞāĻŦāĻĻāϞ āĻāϰā§āύ - āĻāĻāĻŋ āĻāĻāĻ āĻšāĻŦā§āĨ¤ āϝāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āĻāύāĻĒā§āĻ āϞā§āϝāĻžāĻāĻŋāύ āĻŦāϰā§āĻŖāĻŽāĻžāϞāĻž (āĻāĻŦāĻ āϏāĻžāĻŽāĻžāύā§āϝ āĻŦāĻŋāϰāĻžāĻŽ āĻāĻŋāĻšā§āύ) āĻĨā§āĻā§ āĻā§āĻā§āϏāĻ āϏā§āĻā§āϰāĻŋāĻ āĻšāϝāĻŧ āĻāĻŦāĻ āĻāĻ āύāĻžāĻŽāĻā§āϞāĻŋ āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻāϞā§āĻŽā§āϞ⧠āύāϝāĻŧ, āϤāĻāύ āĻāĻ āϧāϰāύā§āϰ āĻĒā§āύāϰā§āĻŦāĻŋāύā§āϝāĻžāϏ āĻšāĻāϝāĻŧāĻžāϰ āϏāĻŽā§āĻāĻžāĻŦāύāĻž āĻ āύā§āĻ āĻŦā§āĻĄāĻŧā§ āϝāĻžāϝāĻŧāĨ¤
āĻŦāĻžāĻ āĻĻā§āϝāĻž āĻāϝāĻŧā§, āĻā§ āĻā§āĻ āĻāϰā§āĻā§ āϏā§āĻāĻžāύ⧠āĻāĻŋ āĻāĻŋāϞ? āϏāϤā§āϝāĻŋāĻ CRC32? āĻĒā§āϰāĻžāϰāĻŽā§āĻāĻŋāĻ āϏā§āϰā§āϏ āĻā§āĻĄāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋāϤ⧠(āĻāĻŽāύāĻāĻŋ āĻāϝāĻŧāĻžāϞā§āĻāĻŽā§āϝāĻžāύā§āϰ āĻāĻā§āĻ) āĻāĻāĻāĻŋ āĻšā§āϝāĻžāĻļ āĻĢāĻžāĻāĻļāύ āĻāĻŋāϞ āϝāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻ āĻā§āώāϰāĻā§ 239 āϏāĻāĻā§āϝāĻž āĻĻāĻŋāϝāĻŧā§ āĻā§āĻŖ āĻāϰā§, āϤāĻžāĻ āĻāĻ āϞā§āĻā§āĻĻā§āϰ āĻĒā§āϰāĻŋāϝāĻŧ, āĻšāĻž āĻšāĻž!
āĻ
āĻŦāĻļā§āώā§, āĻ āĻŋāĻ āĻāĻā§, āĻāĻŽāϰāĻž āĻŦā§āĻāϤ⧠āĻĒā§āϰā§āĻāĻŋ āϝ⧠āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰā§āϰ āϧāϰāύ āϏāĻš āύāĻŋāϰā§āĻŽāĻžāϤāĻžāϰāĻž Vector<int> и Vector<PolymorType> āĻāϞāĻžāĻĻāĻž CRC32 āĻĨāĻžāĻāĻŦā§āĨ¤ āĻ
āύāϞāĻžāĻāύ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋ? āĻāĻŦāĻ āϤāĻžāϤā§āϤā§āĻŦāĻŋāĻ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻāĻ āϧāϰāύā§āϰ āĻ
āĻāĻļ āĻšāϝāĻŧā§ āĻāĻ ā§? āϧāϰāĻž āϝāĻžāĻ āĻāĻŽāϰāĻž āĻĻāĻļ āĻšāĻžāĻāĻžāϰ āϏāĻāĻā§āϝāĻžāϰ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāϰ⧠āĻĒāĻžāϏ āĻāϰāĻŋ Vector<int> āϏāĻŦāĻāĻŋāĻā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰ, āĻĻā§āϰā§āĻā§āϝ āĻāĻŦāĻ āĻāϰāĻ 40000 āĻŦāĻžāĻāĻāĨ¤ āĻāĻ āĻšāϞ⧠āĻāĻŋ āĻšāĻŦā§ Vector<Type2>, āϝāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰ āύāĻŋāϝāĻŧā§ āĻāĻ āĻŋāϤ int āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻāĻĒā§āϰ āĻŽāϧā§āϝ⧠āĻāĻāĻž - āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŋ 10000xabcdef0 34 āĻŦāĻžāϰ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ 4 āĻŦāĻžāĻāĻ āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§? int, āĻ
āĻĨāĻŦāĻž āĻāĻžāώāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻāύā§āϝ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻĨā§āĻā§ āĻāĻāĻŋ āϏā§āĻŦāĻžāϧā§āύ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ fixedVec āĻāĻŦāĻ 80000 āĻŦāĻžāĻāĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤā§, āĻāĻŦāĻžāϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ 40000 āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ?
āĻāĻāĻŋ āĻŽā§āĻā§āĻ āĻāĻāĻāĻŋ āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āϤāĻžāϤā§āϤā§āĻŦāĻŋāĻ āĻĒā§āϰāĻļā§āύ āύāϝāĻŧ - āĻāϞā§āĻĒāύāĻž āĻāϰā§āύ āϝ⧠āĻāĻĒāύāĻŋ āĻā§āϰā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āĻĒā§āϝāĻŧā§āĻā§āύ, āϝāĻžāĻĻā§āϰ āĻĒā§āϰāϤā§āϝā§āĻā§āϰ āĻāĻāĻāĻŋ āĻāĻāĻĄāĻŋ, āĻĒā§āϰāĻĨāĻŽ āύāĻžāĻŽ, āĻļā§āώ āύāĻžāĻŽ āϰāϝāĻŧā§āĻā§ - āĻāĻāĻāĻŋ āĻŽā§āĻŦāĻžāĻāϞ āϏāĻāϝā§āĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰāĻŋāϤ āĻĄā§āĻāĻžāϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖā§āϰ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āϝāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āĻŦāĻŋāĻā§āĻāĻžāĻĒāύ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧāĨ¤
āϤāĻžāĻâĻ
āĻā§āĻā§āĻāϰ, āϝāĻž āĻāĻāύāĻ āĻŽā§āĻā§āϤāĻŋ āĻĒāĻžāϝāĻŧāύāĻŋ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻŽā§āĻŦāĻŋāύā§āĻāϰ āĻāϤā§āϝāĻžāĻĻāĻŋāϰ āĻŦāϰā§āĻŖāύāĻžāϰ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ āĻā§āϰ⧠āĻĻā§āĻāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύ āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦā§āύ āϝ⧠āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰ (āĻāĻŦāĻ āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āĻŽā§āϝāĻžāĻā§āϰāĻŋāĻā§āϏ) āĻāύā§āώā§āĻ āĻžāύāĻŋāĻāĻāĻžāĻŦā§ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻļā§āĻā§āϰ āĻāĻŋāĻĒāϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻāĻĒā§āĻ āĻšāĻāϝāĻŧāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āϤāĻžāϰāĻž āĻā§āϞ⧠āϝāĻžāϝāĻŧ, āĻā§āĻĄāĻŧāĻžāύā§āϤ āϧāĻžāĻĒāĻāĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰā§āϰ āĻāĻāĻāĻŋ āϏāĻāĻā§āĻāĻž āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ, āϝāĻž āĻāĻāύāĻ āĻāĻāĻāĻŋ āĻĒā§āϰāĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻŦāĻžāĻāϧāĻž āĻšāϝāĻŧāύāĻŋāĨ¤ āĻāĻŋ āĻŦā§āϝāĻžāĻĒāĻžāϰ? āĻāĻžāώāĻžāϝāĻŧ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ, āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āĻāĻžāϰā§āϝāĻāϰā§, āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋāĻā§ āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋāĻŽā§āϞāĻāĻāĻžāĻŦā§ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻŦā§āĻļ āϏāĻžāϧāĻžāϰāĻŖ - āĻāϰ āĻ
āϞāϏ āĻŽā§āϞā§āϝāĻžāϝāĻŧāύ āϏāĻš āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āύāĻŋāĻā§āĻ āϏāĻŦāĻāĻŋāĻā§ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰāĻŦā§ āĻāĻŦāĻ āĻāϰāĻŦā§āĨ¤ āĻāĻžāώāĻžāϝāĻŧ āĻĄā§āĻāĻž āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āϝāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ āϤāĻž āĻš'āϞ āĻĻāĻā§āώāϤāĻž: āĻāĻāĻŋ āĻā§āĻŦāϞ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻžāĻ āϝāĻĨā§āώā§āĻ āϤāĻžāϞāĻŋāĻāĻž, āĻ
āϰā§āĻĨāĻžā§ āĻĻā§āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāύā§āϰ āĻāĻ āύ - āĻĒā§āϰāĻĨāĻŽāĻāĻŋ āĻāĻāĻāĻŋ āĻĄā§āĻāĻž āĻāĻĒāĻžāĻĻāĻžāύ, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻāĻāĻ āĻāĻžāĻ āĻžāĻŽā§ āĻŦāĻž āϞā§āĻā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻžāϞāĻŋ āϏā§āĻĨāĻžāύ (āĻĒā§āϝāĻžāĻ (cons) āϞāĻŋāϏā§āĻĒā§)āĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻ āϏā§āĻĒāώā§āĻāϤāĻ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāύāĻāĻŋ āϤāĻžāϰ āĻĒā§āϰāĻāĻžāϰ āĻŦāϰā§āĻŖāύāĻž āĻāϰāϤ⧠āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ 4 āĻŦāĻžāĻāĻ (TL-āĻāϰ āĻā§āώā§āϤā§āϰ⧠CRC32) āĻŦā§āϝāϝāĻŧ āĻāϰā§āĨ¤ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāϰā§āĻ āϏāĻšāĻā§āĻ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āϝāĻžāϝāĻŧ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻāĻžāϰ, āĻāĻŋāύā§āϤ⧠āĻāĻāĻžāĻŽ āĻ
āĻāĻžāύāĻž āĻĻā§āϰā§āĻā§āϝā§āϰ āĻāĻāĻāĻŋ āĻŦāĻŋāύā§āϝāĻžāϏā§āϰ āĻā§āώā§āϤā§āϰā§, āĻāĻŽāϰāĻž āĻŦāύā§āϧ āĻšāϝāĻŧā§ āϝāĻžāĻāĨ¤
āĻ āϤāĻāĻŦ, āϝā§āĻšā§āϤ⧠TL āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰ āĻāĻāĻāĻĒā§āĻ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ āύāĻž, āϤāĻžāĻ āĻāĻāĻŋāĻā§ āĻĒāĻžāĻļā§ āϝā§āĻ āĻāϰāϤ⧠āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻŦāϞā§:
āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āϏāĻŦāϏāĻŽāϝāĻŧ āĻāĻāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ "āĻā§āĻā§āĻāϰ" āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠(const 0x1cb5c415 = crc32("āĻā§āĻā§āĻāϰ t:Type # [ t ] = Vector t") āϝāĻž t āĻāĻžāĻāĻĒā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŽāĻžāύā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āύāĻžāĨ¤
āĻāĻā§āĻāĻŋāĻ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ t-āĻāϰ āĻŽāĻžāύāĻāĻŋ āĻā§āϰāĻŽāĻŋāĻāĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ āĻāĻĄāĻŧāĻŋāϤ āύāϝāĻŧ āĻāĻžāϰāĻŖ āĻāĻāĻŋ āĻĢāϞāĻžāĻĢāϞā§āϰ āϧāϰāύ āĻĨā§āĻā§ āĻĒā§āϰāĻžāĻĒā§āϤ (āϏāϰā§āĻŦāĻĻāĻž āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻāĻā§ āĻĒāϰāĻŋāĻāĻŋāϤ)āĨ¤
āĻāĻĒāύāĻŋ āϏāĻŦ: vector {t:Type} # [ t ] = Vector t - āĻāĻŋāύā§āϤ⧠āĻā§āĻĨāĻžāĻ āύāĻž āĻāĻ āϏāĻāĻā§āĻāĻž āύāĻŋāĻā§āĻ āĻŦāϞ⧠āύāĻž āϝ⧠āĻĒā§āϰāĻĨāĻŽ āϏāĻāĻā§āϝāĻžāĻāĻŋ āĻā§āĻā§āĻāϰā§āϰ āĻĻā§āϰā§āĻā§āϝā§āϰ āϏāĻŽāĻžāύ āĻšāϤ⧠āĻšāĻŦā§! āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻĨāĻžāĻ āĻĨā§āĻā§ āĻāϏ⧠āύāĻžāĨ¤ āĻāĻāĻŋ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻĒā§āϰāĻĻāϤā§āϤ āϝāĻž āĻŽāύ⧠āϰāĻžāĻāĻž āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻšāĻžāϤ⧠āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻĻāϰāĻāĻžāϰāĨ¤ āĻ
āύā§āϝāϤā§āϰ, āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŽāύāĻāĻŋ āϏāϤāϤāĻžāϰ āϏāĻžāĻĨā§ āĻāϞā§āϞā§āĻ āĻāϰ⧠āϝ⧠āĻĒā§āϰāĻāĻžāϰāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦ āύāϝāĻŧ:
āĻā§āĻā§āĻāϰ āĻāĻŋ āĻĒāϞāĻŋāĻŽāϰāĻĢāĻŋāĻ āϏāĻŋāĻāĻĄā§āĻāĻžāĻāĻĒ āĻšāϞ āĻāĻāĻāĻŋ "āĻāĻžāĻāĻĒ" āϝāĻžāϰ āĻŽāĻžāύ āĻšāϞ āĻŦāĻžāĻā§āϏāϝā§āĻā§āϤ āĻŦāĻž āĻŦā§āϝāĻŧāĻžāϰ āϝā§āĻā§āύ āϧāϰāύā§āϰ āĻāĻŋ āĻŽāĻžāύā§āϰ āĻā§āϰāĻŽāĨ¤
... āĻāĻŋāύā§āϤ⧠āϤāĻžāϤ⧠āĻĢā§āĻāĻžāϏ āĻāϰ⧠āύāĻžāĨ¤ āĻāĻĒāύāĻŋ āϝāĻāύ āĻāĻŖāĻŋāϤā§āϰ āĻāĻžāύāĻžāĻāĻžāύāĻŋāϤ⧠āĻā§āϞāĻžāύā§āϤ āĻšāϝāĻŧā§ āĻĒāĻĄāĻŧā§āύ (āϏāĻŽā§āĻāĻŦāϤ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦāĻŋāĻĻā§āϝāĻžāϞāϝāĻŧā§āϰ āĻā§āϰā§āϏ āĻĨā§āĻā§āĻ āĻĒāϰāĻŋāĻāĻŋāϤ), āϤāĻāύ āĻšāĻžāϞ āĻā§āĻĄāĻŧā§ āĻĻā§āĻāϝāĻŧāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύā§āύ āĻāĻŦāĻ āĻŦāĻžāϏā§āϤāĻŦā§ āĻāĻāĻŋāϰ āϏāĻžāĻĨā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻž āϝāĻžāϝāĻŧ āϤāĻž āĻĻā§āĻā§āύ, āϤāĻāύ āĻāĻĒāύāĻžāϰ āĻŽāĻžāĻĨāĻžāϝāĻŧ āĻāĻžāĻĒ āĻĒāĻĄāĻŧā§ āϝāĻžāϝāĻŧ āϝ⧠āĻāĻāĻŋ āĻā§āϰā§āϤāϰ āĻŽā§āϞ⧠āĻāĻŖāĻŋāϤ, āĻāĻāĻŋ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻā§āϞ āĻĒāĻŋāĻĒāϞ (āĻĻā§āĻ āĻāĻŖāĻŋāϤāĻŦāĻŋāĻĻ - ACM āĻŦāĻŋāĻāϝāĻŧā§) āĻĻā§āĻŦāĻžāϰāĻž āĻāĻĻā§āĻāĻžāĻŦāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāĻŦāĻ āĻā§āĻŦāϞ āĻā§āĻ āύāϝāĻŧāĨ¤ āϞāĻā§āώā§āϝ - āĻĒā§āϰāĻĻāϰā§āĻļāύ - āĻ āϰā§āĻāĻŋāϤ āĻšāϝāĻŧā§āĻā§.
āĻāĻĒāĻžāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž, āϏāĻāĻā§āϝāĻž āϏāĻŽā§āĻĒāϰā§āĻā§. āĻāĻŽāĻžāĻĻā§āϰ āĻāĻĒāύāĻžāĻā§ āĻŽāύ⧠āĻāϰāĻŋāϝāĻŧā§ āĻĻā§āĻāϝāĻŧāĻž āϝāĻžāĻ
#āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āϰāϤāĻŋāĻļāĻŦā§āĻĻnat, āĻĒā§āϰāĻžāĻā§āϤāĻŋāĻ āϏāĻāĻā§āϝāĻž:āĻāĻžāĻāĻĒ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻāĻā§ (āĻāĻžāĻāĻĒ-āĻāĻā§āϏāĻĒā§āϰ) āĻāĻŦāĻ āϏāĻāĻā§āϝāĻžāϏā§āĻāĻ āĻ āĻāĻŋāĻŦā§āϝāĻā§āϤāĻŋ (nat-āĻāĻā§āϏāĻĒā§āϰ) āϝāĻžāĻāĻšā§āĻ, āϤāĻžāϰāĻž āĻāĻāĻ āĻāĻžāĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
type-expr ::= expr nat-expr ::= exprāĻāĻŋāύā§āϤ⧠āĻŦā§āϝāĻžāĻāϰāĻŖā§ āϤāĻžāϰāĻž āĻāĻāĻāĻāĻžāĻŦā§ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝā§āĻŽāύ āĻāĻ āĻĒāĻžāϰā§āĻĨāĻā§āϝāĻāĻŋ āĻāĻŦāĻžāϰ āĻŽāύ⧠āϰāĻžāĻāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻāĻā§āĻāĻž, āĻšā§āϝāĻžāĻ, āĻā§āĻŽāĻĒā§āϞā§āĻā§āϰ āϧāϰāύ (vector<int>, vector<User>) āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āĻāĻā§ (#1cb5c415), i.e. āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻžāύā§āύ āϝ⧠āĻāϞ āĻšāĻŋāϏāĻžāĻŦā§ āĻā§āώāĻŖāĻž āĻāϰāĻž āĻšāϝāĻŧ
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻŋ āĻāϰ āĻļā§āϧ⧠āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰā§āϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻā§āύ āύāĻž, āĻāĻŋāύā§āϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰā§āϰ āĻāύā§āϝāĨ¤ āĻāϰ⧠āϏā§āĻĒāώā§āĻ āĻāϰā§, āĻ āĻŦāĻļā§āϝāĻ āĻ āĻĒā§āĻā§āώāĻž āĻāϰā§āύ - āĻŦāĻžāϏā§āϤāĻŦ āĻā§āĻĄā§, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāύ, āϝāĻĻāĻŋ āĻŦā§āϝāĻŧāĻžāϰ āĻāĻžāĻāĻĒ āύāĻž āĻšāϝāĻŧ, āĻāĻāĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻĨāĻžāĻāĻŦā§ āĻāĻŦāĻ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ - āϤāĻŦā§ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻ āĻā§āĻā§āĻāϰā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāύ⧠āĻ āĻŋāĻ āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ āϝ⧠āϧāϰāύā§āϰ? āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāĻŋāĻā§ āϧāϰāĻŖā§āϰ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻāĻŋāϞ, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāϰā§āϰ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžāĻĻāĻžāύ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāĻŖā§āϰ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§?
āĻāĻ āĻŽā§āĻšā§āϰā§āϤ⧠āĻāĻĒāύāĻŋ āĻāĻžāĻŦāϤ⧠āĻļā§āϰ⧠āĻāϰā§āύ - āĻāĻŽāύ āĻāĻāĻāĻŋ āĻāĻŋāĻāϞ āĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ? āĻšāϝāĻŧāϤ⧠āĻāĻžāϰā§āĻā§āϰ āĻāύā§āϝ āĻŽāĻžāύāĻŦ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϏāĻŽā§āĻāĻŦ āĻšāĻŦā§, āĻāĻāĻ āĻĒā§āϰā§āĻā§āĻŦāĻžāĻĢ āϝāĻž āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻāĻŋāϞ? āĻāĻāĻžāĻ āĻāĻŋāϞ āϤāϤā§āϤā§āĻŦ, āĻāϞā§āύ āĻ āύā§āĻļā§āϞāύ āĻĻā§āĻāĻŋāĨ¤
āĻā§āĻĄā§ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ TL āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ
āĻĄā§āϰāĻā§āϰ āĻļā§āϝāĻŧāĻžāϰ āĻŦāĻŋāĻā§āϰāĻŋāϰ āĻŦāĻŋāĻā§āϝāĻžāϤ āĻāĻā§āύā§āĻā§āϰ āĻāĻā§āĻ āĻāĻŋāĻāϞ āĻāĻŋāĻāύā§āĻāĻžāĻā§āĻā§āϰ āĻāĻā§āϰāϤāĻžāϝāĻŧ āĻāύā§āĻŽāĻā§āϰāĻšāĻŖ āĻāϰā§āĻāĻŋāϞ āĻāĻŦāĻ (āύāĻŋāĻļā§āĻāϝāĻŧ), āĻāĻŽāύāĻāĻŋ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āĻŦāĻŋāĻāĻžāĻļ āĻļā§āϰ⧠āĻšāĻāϝāĻŧāĻžāϰ āĻāĻā§āĻāĨ¤ āĻāĻŦāĻ āĻāĻĒā§āύ āϏā§āϰā§āϏ⧠āĻāĻĒāύāĻŋ āĻ āύā§āĻ āĻŽāĻāĻžāϰ āĻā§āϰāĻžāĻ āĻā§āĻāĻā§ āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻŦāĻ āĻāĻžāώāĻžāĻāĻŋ āĻāĻāύ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āϤā§āϞāύāĻžāϝāĻŧ āϏā§āĻāĻžāύ⧠āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϏā§āĻāĻŋāĻŽāĻāĻŋāϤ⧠āĻšā§āϝāĻžāĻļ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž (āĻ āϰā§āĻĨāĻžā§ āĻŦāĻŋāϞā§āĻ-āĻāύ āϏāĻŋāĻāĻĄā§āĻāĻžāĻāĻĒ (āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰā§āϰ āĻŽāϤā§) āĻŦāĻŋāĻā§āϝā§āϤ āĻāĻāϰāĻŖ āϏāĻš)āĨ¤ āĻŦāĻž
Templates are not used now. Instead, the same universal constructors (for example, vector {t:Type} [t] = Vector t) are used wāĻāĻŋāύā§āϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āϝāĻžāĻ, āϏāĻŽā§āĻĒā§āϰā§āĻŖāϤāĻžāϰ āĻāĻžāϤāĻŋāϰā§, āĻā§āϰā§āϏ āĻāϰāĻžāϰ āĻāύā§āϝ, āϤāĻžāĻ āĻŦāϞāϤ⧠āĻā§āϞā§, āĻāĻŋāύā§āϤāĻžāϰ āĻĻā§āϤā§āϝā§āϰ āĻŦāĻŋāĻŦāϰā§āϤāύāĨ¤
#define ZHUKOV_BYTES_HACK
#ifdef ZHUKOV_BYTES_HACK
/* dirty hack for Zhukov request */āĻ āĻĨāĻŦāĻž āĻāĻ āϏā§āύā§āĻĻāϰ āĻāĻāĻāĻŋ:
static const char *reserved_words_polymorhic[] = {
"alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", NULL
};āĻāĻ āĻāĻŖā§āĻĄāĻāĻŋ āĻā§āĻŽāĻĒā§āϞā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§:
intHash {alpha:Type} vector<coupleInt<alpha>> = IntHash<alpha>;āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻšā§āϝāĻžāĻļāĻŽā§āϝāĻžāĻĒ āĻā§āĻŽāĻĒā§āϞā§āĻ āĻāĻžāĻāĻĒā§āϰ āϏāĻāĻā§āĻāĻž int - āĻāĻžāĻāĻĒ āĻā§āĻĄāĻŧāĻžāϰ āĻā§āĻā§āĻāϰ āĻšāĻŋāϏāĻžāĻŦā§āĨ¤ C++ āĻ āĻāĻāĻŋ āĻĻā§āĻāϤ⧠āĻāϰāĻāĻŽ āĻāĻŋāĻā§ āĻšāĻŦā§:
template <T> class IntHash {
vector<pair<int,T>> _map;
}āϤāĻžāĻ, alpha - āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ! āĻāĻŋāύā§āϤ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ C++ āĻ āĻāĻĒāύāĻŋ T āϞāĻŋāĻāϤ⧠āĻĒāĻžāϰā§āύ, āĻāĻŋāύā§āϤ⧠āĻāĻĒāύāĻžāĻā§ āĻāϞāĻĢāĻž, āĻŦāĻŋāĻāĻž āϞāĻŋāĻāϤ⧠āĻšāĻŦā§... āĻāĻŋāύā§āϤ⧠8āĻāĻŋāϰ āĻŦā§āĻļāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āύāϝāĻŧ, āĻāĻāĻžāύā§āĻ āĻĢā§āϝāĻžāύā§āĻāĻžāϏāĻŋ āĻļā§āώ āĻšāϝāĻŧāĨ¤ āĻŽāύ⧠āĻšāĻā§āĻā§ āϏā§āύā§āĻ āĻĒāĻŋāĻāĻžāϰā§āϏāĻŦāĻžāϰā§āĻā§ āĻāĻ āϏāĻŽāϝāĻŧ āĻāϰāĻāĻŽ āĻāĻŋāĻā§ āϏāĻāϞāĻžāĻĒ āĻšāϝāĻŧā§āĻāĻŋāϞ:
-- ĐадО ŅĐ´ĐĩĐģаŅŅ Đ˛ TL ŅайĐģĐžĐŊŅ
-- ĐĐģ... ĐŅ ĐŋŅŅŅŅ ĐŋаŅаĐŧĐĩŅŅŅ ĐˇĐžĐ˛ŅŅ Đ°ĐģŅŅа, ĐąĐĩŅа,... ĐаĐēиĐĩ ŅаĐŧ ĐĩŅŅ ĐąŅĐēĐ˛Ņ ĐĩŅŅŅ... Đ, ŅŅŅа!
-- ĐŅаĐŧĐŧаŅиĐēа? ĐŅ ĐŋĐžŅĐžĐŧ ĐŊаĐŋиŅĐĩĐŧ
-- ĐĄĐŧĐžŅŅиŅĐĩ, ĐēаĐēОК Ņ ŅиĐŊŅаĐēŅĐ¸Ņ ĐŋŅидŅĐŧаĐģ Đ´ĐģŅ ŅайĐģĐžĐŊОв и вĐĩĐēŅĐžŅа!
-- ĐĸŅ Đ´ĐžĐģйаĐŊŅĐģŅŅ, ĐēаĐē ĐŧŅ ŅŅĐž ĐŋаŅŅиŅŅ ĐąŅĐ´ĐĩĐŧ?
-- Đа ĐŊĐĩ ŅŅŅŅĐĩ, ĐžĐŊ ŅаĐŧ ОдиĐŊ в ŅŅ
ĐĩĐŧĐĩ, СаŅ
аŅĐēОдиŅŅ -- и ĐžĐēāĻāĻŋāύā§āϤ⧠āĻāĻāĻŋ TL āĻāϰ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāϞ "āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§"āĨ¤ āĻāϏā§āύ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ āύāĻŋāĻā§āĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āϝāĻžāĻāĨ¤
āĻā§āϝāĻžāϏāĻŋāϞāĻŋāϰ āĻāĻžāĻā§ āĻļāĻŦā§āĻĻ:
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [09.10.18 17:07] āĻāϏāϞ āĻŦā§āϝāĻžāĻĒāĻžāϰ āĻšāϞ⧠āϤāĻžāϰāĻž āĻ āύā§āĻ āĻŦāĻŋāĻŽā§āϰā§āϤāϤāĻž āϤā§āϰāĻŋ āĻāϰā§āĻā§, āϤāĻžāϰāĻĒāϰ āϏā§āĻā§āϞ⧠āĻā§āϞ⧠āĻā§āĻā§, āĻāĻŦāĻ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻāϰāĻāĻŋāĻā§ āĻā§āϰāĻžāĻ āĻĻāĻŋāϝāĻŧā§ āĻĸā§āĻā§ āĻĻāĻŋāϝāĻŧā§āĻā§āĨ¤
āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻĒā§āϰāĻĨāĻŽā§ āĻĄāĻ āĻĒāĻžāĻāϞāĻ.āĻā§āĻĒāĻŋāĻāĻŋ āĻĨā§āĻā§
āϤāĻžāϰāĻĒāϰ dzhekichan.webp āĻā§āĻĄ āĻĨā§āĻā§
āĻ āĻŦāĻļā§āϝāĻ, āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻāĻŦāĻ āĻāĻŖāĻŋāϤā§āϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻŦā§āϝāĻā§āϤāĻŋāĻĻā§āϰ āĻāĻžāĻ āĻĨā§āĻā§, āĻāĻŽāϰāĻž āĻāĻļāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ āϝ⧠āϤāĻžāϰāĻž āĻāĻšā§, āĻāϞāĻŽā§āϝāĻžāύ āĻĒāĻĄāĻŧā§āĻā§āύ āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āĻĄāĻŋāĻāϏāĻāϞ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰāĻā§āϞāĻŋ āϞā§āĻāĻžāϰ āĻāύā§āϝ āĻāϝāĻŧā§āĻ āĻĻāĻļāĻ āϧāϰ⧠āĻļāĻŋāϞā§āĻĒā§ āĻĄāĻŋ āĻĢā§āϝāĻžāĻā§āĻā§ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻšāϝāĻŧā§ āĻāĻ ā§āĻā§ āĻāĻŽāύ āϏāϰāĻā§āĻāĻžāĻŽāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ, āϤāĻžāĻ āύāĻž?
āĻĻā§āĻŦāĻžāϰāĻž āĻāĻžāĻāĻāĻžāϞāĻŋ āĻā§āϝāĻžāϞā§āĻāĻŽā§āϝāĻžāύ, āĻāĻŋāĻāϞāĻ āĻĢāϰāĻŽā§āϝāĻžāĻā§āϰ (cli) āϏā§āĻŽāĻžāύāĻžāϰ āĻŦāĻžāĻāϰā§āϰ āĻāĻāύāĻž āĻĨā§āĻā§ āĻŦā§āĻāĻž āϝāĻžāϝāĻŧ, āĻĻāϞā§āϰ āĻāĻāĻāύ āϏāĻĻāϏā§āϝ - āĻāĻāύ TL āĻĒāĻžāϰā§āϏāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ , āĻāĻŋ āϤāĻžāϰ āĻāĻžāĻĒ ? ..
16.12 04:18 āĻā§āϝāĻžāϏāĻŋāϞāĻŋ: āĻāĻŽāĻžāϰ āĻŽāύ⧠āĻšāϝāĻŧ āĻā§āĻ lex+yacc āĻāϝāĻŧāϤā§āϤ āĻāϰā§āύāĻŋ
16.12 04:18 āĻā§āϝāĻžāϏāĻŋāϞāĻŋ: āĻāĻŽāĻŋ āĻ āύā§āϝāĻĨāĻžāϝāĻŧ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦ āύāĻž
16.12 04:18 āĻā§āϝāĻžāϏāĻŋāϞāĻŋ: āĻāĻžāϞ, āĻ āĻĨāĻŦāĻž āϤāĻžāĻĻā§āϰ āĻāĻŋāĻā§ āϞāĻžāĻāύā§āϰ āϏāĻāĻā§āϝāĻžāϰ āĻāύā§āϝ āĻ āϰā§āĻĨ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ
16.12 04:19 āĻā§āϝāĻžāϏāĻŋāϞāĻŋ: 3k+ āϞāĻžāĻāύ āĻāϤā§āϝāĻžāĻĻāĻŋ<censored>āĻāĻāĻāĻŋ āĻĒāĻžāϰā§āϏāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤā§
āϏāĻŽā§āĻāĻŦāϤ āĻāĻāĻāĻŋ āĻŦā§āϝāϤāĻŋāĻā§āϰāĻŽ? āĻĻā§āĻāĻž āϝāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ - āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ:
nametype = re.match(r'([a-zA-Z.0-9_]+)(#[0-9a-f]+)?([^=]*)=s*([a-zA-Z.<>0-9_]+);', line);
if (not nametype):
if (not re.match(r'vector#1cb5c415 {t:Type} # [ t ] = Vector t;', line)):
print('Bad line found: ' + line);āĻĒāĻžāĻāĻĨāύ⧠1100+ āϞāĻžāĻāύ, āĻāϝāĻŧā§āĻāĻāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ + āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰā§āϰ āĻŽāϤ⧠āĻŦāĻŋāĻļā§āώ āĻā§āώā§āϤā§āϰā§, āϝāĻž āĻ āĻŦāĻļā§āϝāĻ, āĻāĻŋāĻāϞ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻ āύā§āϏāĻžāϰ⧠āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ āĻšāĻŋāϏāĻžāĻŦā§ āϏā§āĻāĻŋāĻŽā§ āĻā§āώāĻŖāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϤāĻŦā§ āϤāĻžāϰāĻž āĻāĻāĻŋ āĻĒāĻžāϰā§āϏ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĻāĻŋāϞ ... āĻĒā§āϰāĻļā§āύ āĻāĻžāĻā§, āĻā§āύ āϏāĻŦ āĻ āϞā§āĻāĻŋāĻ āĻāĻŋāϞ?иāĻāĻāĻŋ āĻāϰāĻ āϏā§āϤāϰāϝā§āĻā§āϤ āϝāĻĻāĻŋ āϝāĻžāĻāĻšā§āĻ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻ āύā§āϏāĻžāϰ⧠āĻā§āĻ āĻāĻāĻŋ āĻĒāĻžāϰā§āϏ āĻāϰāϤ⧠āϝāĻžāĻā§āĻā§ āύāĻž?!
āϝāĻžāĻāĻšā§āĻ... āĻŽāύ⧠āĻāĻā§ āĻāĻŽāϰāĻž CRC32 āĻā§āĻ āĻāϰāĻžāϰ āĻāĻĨāĻž āĻŦāϞā§āĻāĻŋāϞāĻžāĻŽ? āϏā§āϤāϰāĻžāĻ, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻāϰ⧠āϏā§āĻ āϧāϰāĻŖā§āϰ āĻŦā§āϝāϤāĻŋāĻā§āϰāĻŽāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āϰāϝāĻŧā§āĻā§ āϝā§āĻāĻžāύ⧠āĻāĻŖāύāĻž āĻāϰāĻž CRC32 āĻŽā§āϞ⧠āύāĻž āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽā§ āύāĻŋāϰā§āĻĻā§āĻļāĻŋāϤ āĻāĻ āϏāĻā§āĻā§!
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [ā§§ā§Ž.⧧⧍ ⧍⧍:ā§Ē⧝] āĻāĻŦāĻ āĻāĻāĻžāύ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻŦāĻž āĻāĻāĻŋāϤ āϝ⧠āĻāĻ āϧāϰāĻŖā§āϰ āĻāĻŋāĻāϞ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻŋāύāĻž
āϝāĻĻāĻŋ āĻāĻŽāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āϏāĻžāĻĨā§ āϤāĻžāϞāĻā§āϞ āĻĒāĻžāĻāĻŋāϝāĻŧā§ āĻĢā§āϞāϤ⧠āĻāĻžāĻ, āĻāĻŽāĻŋ āϞāĻžāĻāύ āĻŦāĻŋāϰāϤāĻŋ āϏāύā§āύāĻŋāĻŦā§āĻļ āĻāϰāĻž āĻļā§āϰ⧠āĻāϰāĻŦ, āĻ āϰā§āϧā§āĻ āĻĒāĻžāϰā§āϏāĻžāϰ āĻŦāĻšā§-āϞāĻžāĻāύ āϏāĻāĻā§āĻāĻžāϝāĻŧ āĻāĻžāĻāĻŦā§
tdesktop, āϤāĻŦā§, āĻā§āĻŦ
āĻāϝāĻŧāĻžāύ-āϞāĻžāĻāύāĻžāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒāϝāĻŧā§āύā§āĻāĻāĻŋ āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ, āĻāĻŽāϰāĻž āĻāĻāĻā§ āĻĒāϰ⧠āĻāĻāĻŋāϤ⧠āĻĢāĻŋāϰ⧠āϝāĻžāĻŦāĨ¤
āĻ āĻŋāĻ āĻāĻā§, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ-āĻā§āϞāĻŋ āĻāύāĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ, āĻāĻŋāύā§āϤ⧠āĻ āύā§āϝāĻĻā§āϰ āĻā§ āĻšāĻŦā§? āĻā§ āĻāĻžāύā§?... āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻā§āĻĄā§ āĻā§āύāĻ āϏā§āĻāĻŋāĻŽāĻž āĻĒāĻžāϰā§āϏāĻžāϰ āĻāĻŋāϞ āύāĻž (āϝāĻž āĻāĻĒā§āύ āϏā§āϰā§āϏ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒā§āϰāĻļā§āύ āϤā§āϞā§, āϤāĻŦā§ āĻāĻāĻŋ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§āϰ āĻāύā§āϝ), āϤāĻŦā§ āĻā§āĻĄā§āϰ āĻāϰāĻ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻŽāĻāĻžāϰ āĻā§āĻāϰ⧠āĻāĻŋāϞ, āϤāĻŦā§ āϏā§āĻā§āϞāĻŋāϤ⧠āĻāϰāĻ āĻāĻŋāĻā§ āύā§āĻā§āϰ āĻāĻĒāϧāĻžāϰāĻžāĨ¤
āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻ āύā§āĻļā§āϞāύ⧠āĻ āύā§āϝ āĻā§āύ āĻĒā§āϰāĻļā§āύ āĻāϤā§āĻĨāĻžāĻĒāύ āĻāϰā§? āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϤāĻžāϰāĻž āĻ āύā§āĻ āĻāĻŋāĻā§ āĻāϰā§āĻā§, āĻ āĻŦāĻļā§āϝāĻ, āĻŦāĻŋāĻ āĻā§āώā§āϤā§āϰ āĻāĻŦāĻ āĻļāϰā§āϤāĻžāϧā§āύ āĻā§āώā§āϤā§āϰāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§:
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ:
flags.0? true
āĻā§āώā§āϤā§āϰāĻāĻŋ āĻāĻĒāϏā§āĻĨāĻŋāϤ āĻāĻŦāĻ āĻĒāϤāĻžāĻāĻž āϏā§āĻ āĻāϰāĻž āĻĨāĻžāĻāϞ⧠āϏāĻŽāĻžāύ āϏāϤā§āϝāĻā§āϝāĻžāϏāĻŋāϞāĻŋ:
flags.1? int
āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ āϝ⧠āĻā§āώā§āϤā§āϰāĻāĻŋ āĻŦāϰā§āϤāĻŽāĻžāύ āĻāĻŦāĻ āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻž āĻĻāϰāĻāĻžāϰāĻā§āϝāĻžāϏāĻŋāϞāĻŋ: āĻāĻžāϧāĻž, āĻāĻĒāύāĻŋ āĻāĻŋ āĻāϰāĻā§āύ āϤāĻž āύāĻŋāϝāĻŧā§ āĻāĻŋāύā§āϤāĻž āĻāϰāĻŦā§āύ āύāĻž!
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ: āĻĄāĻāĻāĻŋāϤ⧠āĻā§āĻĨāĻžāĻ āĻāĻāĻāĻŋ āĻāϞā§āϞā§āĻ āĻāĻā§ āϝ⧠āϏāϤā§āϝ āĻāĻāĻāĻŋ āĻāĻžāϞāĻŋ āĻļā§āύā§āϝ-āĻĻā§āϰā§āĻā§āϝā§āϰ āĻĒā§āϰāĻāĻžāϰ, āϤāĻŦā§ āϤāĻžāĻĻā§āϰ āĻĄāĻ āĻĨā§āĻā§ āĻāĻŋāĻā§ āĻāĻāϤā§āϰ āĻāϰāĻž āĻ āϏāĻŽā§āĻāĻŦ
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ: āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύ⧠āĻāĻāĻž āĻšāϝāĻŧ āύāĻž, āĻāĻŋāύā§āϤ⧠āĻā§āϰāĻžāĻ āĻāĻŦāĻ āϏāĻžāĻĒā§āϰā§āĻā§āϰ āĻā§āĻā§āĻ āϰāϝāĻŧā§āĻā§
āĻā§āϞāĻŋāĻĨāύ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋ? MTProto āĻŦāĻŋāώāϝāĻŧā§āϰ āĻĻāĻŋāĻā§ āϤāĻžāĻāĻŋāϝāĻŧā§, āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ - āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ⧠āĻāĻ āϧāϰāύā§āϰ āĻā§āĻāϰāĻž āĻāĻā§, āĻāĻŋāύā§āϤ⧠āϏāĻžāĻāύ % āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ "āĻĒā§āϰāĻĻāϤā§āϤ āĻŦā§āϝāĻŧāĻžāϰ-āĻāĻžāĻāĻĒā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ" āĻšāĻŋāϏāĻžāĻŦā§ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝā§āĻŽāύ āύā§āĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖāĻā§āϞāĻŋāϤ⧠āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻŦāĻž āύāĻĨāĻŋāĻā§āĻā§āϤ āĻāĻŋāĻā§ āĻāĻā§:
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [22.06.18/18/38 XNUMX:XNUMX] āĻāĻ āĻāĻžā§āĻāĻžā§:
msg_container#73f1f8dc messages:vector message = MessageContainer;āĻāĻŋāύā§āύāĻāĻžāĻŦā§:
msg_container#73f1f8dc messages:vector<%Message> = MessageContainer;āĻāĻŦāĻ āĻāĻ āĻĻā§āĻāĻŋ āĻŦāĻĄāĻŧ āĻĒāĻžāϰā§āĻĨāĻā§āϝ, āĻŦāĻžāϏā§āϤāĻŦ āĻā§āĻŦāύ⧠āĻāĻāϧāϰāύā§āϰ āύāĻā§āύ āĻā§āĻā§āĻāϰ āĻāϏā§
āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻŦā§āϝāĻŧāĻžāϰ āĻā§āĻā§āĻāϰ āϏāĻāĻā§āĻāĻž āĻĻā§āĻāĻŋāύāĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻĄāĻŧā§ āĻāϏāĻŋāύāĻŋ
āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻā§āϞāĻŋāĻĨāύ⧠āĻšāĻžāϤ⧠āϞā§āĻāĻž āĻšāϝāĻŧ
āϤāĻžāϰ āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽā§ āϏāĻāĻā§āĻāĻžāĻāĻŋ āĻŽāύā§āϤāĻŦā§āϝ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§
msg_containerāĻāĻŦāĻžāϰ, āĻĒā§āϰāĻļā§āύāĻāĻŋ % āϏāĻŽā§āĻĒāϰā§āĻā§ āϰāϝāĻŧā§ āĻā§āĻā§āĨ¤ āĻāĻāĻž āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧ āύāĻž.
āĻāĻžāĻĻāĻŋāĻŽ āĻāύāĻāĻžāϰāĻ, [22.06.18/19/22 XNUMX:XNUMX] āĻāĻŦāĻ tdesktop āĻ?
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [22.06.18/19/23 XNUMX:XNUMX] āĻāĻŋāύā§āϤ⧠āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻāĻĻā§āϰ āĻāĻĒāϰ āϤāĻžāĻĻā§āϰ TL āĻĒāĻžāϰā§āϏāĻžāϰ āϏāĻŽā§āĻāĻŦāϤ āĻāĻāĻŋ āĻāĻžāĻŦā§ āύāĻžāĨ¤
// parsed manuallyTL āĻāĻāĻāĻŋ āϏā§āύā§āĻĻāϰ āĻŦāĻŋāĻŽā§āϰā§āϤāϤāĻž, āĻā§āĻ āĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰ⧠āύāĻž
āĻāĻŦāĻ % āϤāĻžāĻĻā§āϰ āϏā§āĻāĻŋāĻŽā§āϰ āϏāĻāϏā§āĻāϰāĻŖā§ āύā§āĻ
āĻāĻŋāύā§āϤ⧠āĻāĻāĻžāύ⧠āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āύāĻŋāĻā§āĻ āĻŦāĻŋāĻĒāϰā§āϤ, āϤāĻžāĻ idk
āĻāĻāĻž āĻŦā§āϝāĻžāĻāϰāĻŖā§ āĻĒāĻžāĻāϝāĻŧāĻž āĻā§āĻā§, āϤāĻžāϰāĻž āϏāĻšāĻāĻāĻžāĻŦā§ āĻļāĻŦā§āĻĻāĻžāϰā§āĻĨāĻ āĻŦāϰā§āĻŖāύāĻž āĻāϰāϤ⧠āĻā§āϞ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§
āĻāĻĒāύāĻŋ āĻāĻŋāĻāϞ-āĻ āύāĻĨāĻŋāĻāĻŋ āĻĻā§āĻā§āĻā§āύ, āĻāĻĒāύāĻŋ āĻāϧāĻž āϞāĻŋāĻāĻžāϰ āĻāĻžāĻĄāĻŧāĻž āĻāĻāĻŋ āĻŦā§āϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž
"āĻ āĻŋāĻ āĻāĻā§, āĻāϏā§āύ āĻŦāϞāĻŋ," āĻ āύā§āϝ āĻĒāĻžāĻ āĻ āĻŦāϞāĻŦā§, "āĻāĻĒāύāĻŋ āĻāĻŋāĻā§ āϏāĻŽāĻžāϞā§āĻāύāĻž āĻāϰā§āύ, āϤāĻžāĻ āĻāĻŽāĻžāĻā§ āĻĻā§āĻāĻžāύ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāϰāĻž āĻāĻāĻŋāϤāĨ¤"
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ āĻāϤā§āϤāϰ āĻĻā§āϝāĻŧ: "āĻĒāĻžāϰā§āϏāĻžāϰā§āϰ āĻāύā§āϝ, āĻāĻŽāĻŋ āĻāϰ āĻŽāϤ⧠āĻāĻŋāύāĻŋāϏ āĻĒāĻāύā§āĻĻ āĻāϰāĻŋ
args: /* empty */ { $$ = NULL; }
| args arg { $$ = g_list_append( $1, $2 ); }
;
arg: LC_ID ':' type-term { $$ = tl_arg_new( $1, $3 ); }
| LC_ID ':' condition '?' type-term { $$ = tl_arg_new_cond( $1, $5, $3 ); free($3); }
| UC_ID ':' type-term { $$ = tl_arg_new( $1, $3 ); }
| type-term { $$ = tl_arg_new( "", $1 ); }
| '[' LC_ID ']' { $$ = tl_arg_new_mult( "", tl_type_new( $2, TYPE_MOD_NONE ) ); }
;āĻāĻāϰāĻāĻŽā§āϰ āĻā§āϝāĻŧā§ āĻāĻžāϞ⧠āϞāĻžāĻā§
struct tree *parse_args4 (void) {
PARSE_INIT (type_args4);
struct parse so = save_parse ();
PARSE_TRY (parse_optional_arg_def);
if (S) {
tree_add_child (T, S);
} else {
load_parse (so);
}
if (LEX_CHAR ('!')) {
PARSE_ADD (type_exclam);
EXPECT ("!");
}
PARSE_TRY_PES (parse_type_term);
PARSE_OK;
}āĻŦāĻž
# Regex to match the whole line
match = re.match(r'''
^ # We want to match from the beginning to the end
([w.]+) # The .tl object can contain alpha_name or namespace.alpha_name
(?:
# # After the name, comes the ID of the object
([0-9a-f]+) # The constructor ID is in hexadecimal form
)? # If no constructor ID was given, CRC32 the 'tl' to determine it
(?:s # After that, we want to match its arguments (name:type)
{? # For handling the start of the '{X:Type}' case
w+ # The argument name will always be an alpha-only name
: # Then comes the separator between name:type
[wd<>#.?!]+ # The type is slightly more complex, since it's alphanumeric and it can
# also have Vector<type>, flags:# and flags.0?default, plus :!X as type
}? # For handling the end of the '{X:Type}' case
)* # Match 0 or more arguments
s # Leave a space between the arguments and the equal
=
s # Leave another space between the equal and the result
([wd<>#.?]+) # The result can again be as complex as any argument type
;$ # Finally, the line should always end with ;
''', tl, re.IGNORECASE | re.VERBOSE)āĻāĻāĻŋ āĻĒā§āϰ⧠āϞā§āĻā§āϏāĻžāϰ:
---functions--- return FUNCTIONS;
---types--- return TYPES;
[a-z][a-zA-Z0-9_]* yylval.string = strdup(yytext); return LC_ID;
[A-Z][a-zA-Z0-9_]* yylval.string = strdup(yytext); return UC_ID;
[0-9]+ yylval.number = atoi(yytext); return NUM;
#[0-9a-fA-F]{1,8} yylval.number = strtol(yytext+1, NULL, 16); return ID_HASH;
n /* skip new line */
[ t]+ /* skip spaces */
//.*$ /* skip comments */
/*.**/ /* skip comments */
. return (int)yytext[0];āϏā§āĻā§āϞā§. āϏāĻšāĻāϤāϰ āĻšāϞ āĻāĻāĻŋāĻā§ āĻšāĻžāϞāĻāĻžāĻāĻžāĻŦā§ āϰāĻžāĻāĻžāĨ¤"
āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§, āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, TL-āĻāϰ āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻāĻĒāϏā§āĻā§āϰ āĻāύā§āϝ āĻĒāĻžāϰā§āϏāĻžāϰ āĻāĻŦāĻ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻāϰ āĻŦā§āϝāĻžāĻāϰāĻŖā§āϰ āĻĒā§āϰāĻžāϝāĻŧ 100 āϞāĻžāĻāύ āĻāĻŦāĻ āĻā§āύāĻžāϰā§āĻāϰā§āϰ ~300 āϞāĻžāĻāύ⧠āĻĢāĻŋāĻ āĻāϰ⧠(āϏāĻŽāϏā§āϤ āĻāĻŖāύāĻž āĻāϰ⧠printāĻāϰ āĻā§āύāĻžāϰā§āĻā§āĻĄ āĻā§āĻĄ), āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻā§āϞāĻžāϏ⧠āĻāϤā§āĻŽāĻĻāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻžāĻāĻĒ āϤāĻĨā§āϝ āĻāϰāĻā§āĻļ āϏāĻšāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāϞāĻŋāĻŽāϰāĻĢāĻŋāĻ āĻāĻžāĻāĻĒ āĻāĻāĻāĻŋ āĻāĻžāϞāĻŋ āĻŦāĻŋāĻŽā§āϰā§āϤ āĻŦā§āϏ āĻļā§āϰā§āĻŖā§āϤ⧠āĻĒāϰāĻŋāĻŖāϤ āĻšāϝāĻŧ, āĻāĻŦāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰāϰāĻž āĻāĻāĻŋ āĻĨā§āĻā§ āĻāϤā§āϤāϰāĻžāϧāĻŋāĻāĻžāϰ āϏā§āϤā§āϰ⧠āĻĒā§āϰāĻžāĻĒā§āϤ āĻšāϝāĻŧ āĻāĻŦāĻ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻāĻŦāĻ āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻĒāĻĻā§āϧāϤāĻŋ āϰāϝāĻŧā§āĻā§āĨ¤
āĻāĻžāĻāĻĒ āĻāĻžāώāĻžāϰ āĻ āĻāĻžāĻŦ
āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻāĻžāĻāĻĒāĻŋāĻ āĻāĻāĻāĻŋ āĻāĻžāϞ āĻāĻŋāύāĻŋāϏ, āϤāĻžāĻ āύāĻž? āύāĻž, āĻāĻāĻŋ āĻšāϞāĻŋāĻāĻžāϰ āύāϝāĻŧ (āϝāĻĻāĻŋāĻ āĻāĻŽāĻŋ āĻāϤāĻŋāĻļā§āϞ āĻāĻžāώāĻž āĻĒāĻāύā§āĻĻ āĻāϰāĻŋ), āϤāĻŦā§ TL āĻāϰ āĻāĻžāĻ āĻžāĻŽā§āϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻ āύā§āĻŽāĻžāύāĨ¤ āĻāĻāĻŋāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰā§, āĻāĻžāώāĻžāĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻāύā§āϝ āϏāĻŽāϏā§āϤ āϧāϰāĻŖā§āϰ āĻā§āĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻāϝāĻŧā§āϞ, āĻ āĻŋāĻ āĻāĻā§, āĻšāϝāĻŧāϤ⧠āϤāĻŋāύāĻŋ āύāĻŋāĻā§āĻ āύāĻž, āĻāĻŋāύā§āϤ⧠āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ, āĻāĻŋāύā§āϤ⧠āϤāĻŋāύāĻŋ āĻ āύā§āϤāϤ āϤāĻžāĻĻā§āϰ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻāĻāĻŋāϤāĨ¤ āĻāĻŦāĻ āĻāĻŽāϰāĻž āĻāĻŋ āϧāϰāύā§āϰ āϏā§āϝā§āĻ āĻāĻžāĻ?
āĻĒā§āϰāĻĨāĻŽāϤ, āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻžāĨ¤ āĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž āĻĢāĻžāĻāϞ āĻāĻĒāϞā§āĻĄ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻā§āĻāĻŋ:
āĻĢāĻžāĻāϞā§āϰ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āϤāĻžāϰāĻĒāϰ āĻ āĻāĻļā§ āĻŦāĻŋāĻāĻā§āϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āϏāĻŽāϏā§āϤ āĻ āĻāĻļ āĻāĻāĻ āĻāĻāĻžāϰ āĻšāϤ⧠āĻšāĻŦā§ ( part_size ) āĻāĻŦāĻ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻļāϰā§āϤāĻā§āϞāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻĒā§āϰāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§:
part_size % 1024 = 0(1KB āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻāĻžāĻā§āϝ)524288 % part_size = 0(512KB āĻ āĻŦāĻļā§āϝāĻ part_size āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽāĻžāύāĻāĻžāĻŦā§ āĻŦāĻŋāĻāĻžāĻā§āϝ āĻšāϤ⧠āĻšāĻŦā§)āĻļā§āώ āĻ āĻāĻļāĻāĻŋāĻā§ āĻāĻ āĻļāϰā§āϤāĻā§āϞāĻŋ āĻĒā§āϰāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž, āϝāĻĻāĻŋ āĻāϰ āĻāĻāĻžāϰ part_size āĻĨā§āĻā§ āĻāĻŽ āĻšāϝāĻŧāĨ¤
āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻ āĻāĻļā§āϰ āĻāĻāĻāĻŋ āĻā§āϰāĻŽ āϏāĻāĻā§āϝāĻž āĻĨāĻžāĻāĻž āĻāĻāĻŋāϤ, āĻĢāĻžāĻāϞ_āĻĒāĻžāϰā§āĻ, 0 āĻĨā§āĻā§ 2,999 āĻĒāϰā§āϝāύā§āϤ āĻŽāĻžāύ āϏāĻšāĨ¤
āĻĢāĻžāĻāϞāĻāĻŋ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻāĻĒāύāĻžāĻā§ āϏāĻžāϰā§āĻāĻžāϰ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āĻā§ āύāĻŋāϤ⧠āĻšāĻŦā§āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āĻĢāĻžāĻāϞā§āϰ āĻĒā§āϰā§āĻŖ āĻāĻāĻžāϰ 10 MB āĻāϰ āĻŦā§āĻļāĻŋ āĻšāϞ⧠āĻāĻŦāĻ āĻā§āĻ āĻĢāĻžāĻāϞā§āϰ āĻāύā§āϝāĨ¤
[...] āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĄā§āĻāĻž āĻāύāĻĒā§āĻ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻĢāĻŋāϰ⧠āĻāϏāϤ⧠āĻĒāĻžāϰā§:
- FILE_PARTS_INVALID â āĻ āĻāĻļā§āϰ āĻ āĻŦā§āϧ āϏāĻāĻā§āϝāĻžāĨ¤ āĻŽāĻžāύ āĻāϰ āĻŽāϧā§āϝ⧠āύā§āĻ
1..3000
āĻāĻ āĻā§āύ āĻāĻŋāϤā§āϰ⧠āĻāĻā§? āĻāĻ āĻāĻāϰāĻāĻŽ TL āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰāĻāĻžāĻļāϝā§āĻā§āϝ? āύāĻž. āĻāĻŋāύā§āϤ⧠āĻŽāĻžāĻĢ āĻāϰāĻŦā§āύ, āĻāĻŽāύāĻāĻŋ āĻĻāĻžāĻĻāĻžāϰ āĻāĻžāϰā§āĻŦā§ āĻĒāĻžāϏā§āĻāĻžāϞāĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϧāϰāύā§āϰ āĻŦāϰā§āĻŖāύāĻž āĻāϰāϤ⧠āĻĒā§āϰā§āĻāĻŋāϞā§āύ āĻĒāϰāĻŋāϏā§āĻŽāĻž. āĻāĻŦāĻ āϤāĻŋāύāĻŋ āĻāϰāĻ āĻāĻāĻāĻŋ āĻāĻŋāύāĻŋāϏ āĻāĻžāύāϤā§āύ, āϝāĻž āĻāĻāύ āĻŦā§āĻļāĻŋ āĻĒāϰāĻŋāĻāĻŋāϤ enum - āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ (āĻā§āĻ) āϏāĻāĻā§āϝāĻžāϰ āĻŽāĻžāύā§āϰ āĻāĻāĻāĻŋ āĻāĻŖāύāĻž āύāĻŋāϝāĻŧā§ āĻāĻ āĻŋāϤ āĻāĻāĻāĻŋ āĻĒā§āϰāĻāĻžāϰāĨ¤ āϏāĻŋ-āϏāĻāĻā§āϝāĻžāϰ āĻŽāϤ⧠āĻāĻžāώāĻžāĻā§āϞāĻŋāϤā§, āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āĻāĻŽāϰāĻž āĻāĻāύ āĻĒāϰā§āϝāύā§āϤ āĻā§āĻŦāϞ āĻĒā§āϰāĻāĻžāϰāĻā§āϞāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĨāĻž āĻŦāϞā§āĻāĻŋ āϏāĻāĻā§āϝāĻžāϰ. āĻāĻŋāύā§āϤ⧠āĻ
ā§āϝāĻžāϰā§, āϏā§āĻā§āϰāĻŋāĻāĻ āĻāĻā§... āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻ āϏā§āĻā§āϰāĻŋāĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻĢā§āύ āύāĻŽā§āĻŦāϰ āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϤāĻž āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻāĻžāϞ⧠āĻšāĻŦā§, āϤāĻžāĻ āύāĻž?
āĻāϰ āĻā§āύā§āĻāĻŋāĻ āĻāĻŋāĻāϞ-āĻ āύā§āĻāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, JSON āϏā§āĻāĻŋāĻŽāĻž. āĻāĻŦāĻ āϝāĻĻāĻŋ āĻ
āύā§āϝ āĻā§āĻ 512 KB āĻāϰ āĻŦāĻŋāĻāĻžāĻā§āϝāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āϤāϰā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āĻāĻāĻŋ āĻāĻāύāĻ āĻā§āĻĄā§ āĻā§āĻ āĻāϰāĻž āĻĻāϰāĻāĻžāϰ, āϤāĻžāĻšāϞ⧠āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύ āϝ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϏāĻšāĻāĻāĻžāĻŦā§ āĻĒāĻžāϰ⧠āύāĻž āϏā§āĻŽāĻžāϰ āĻŦāĻžāĻāϰ⧠āĻāĻāĻāĻŋ āύāĻŽā§āĻŦāϰ āĻĒāĻžāĻ āĻžāύ 1..3000 (āĻāĻŦāĻ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āϤā§āϰā§āĻāĻŋāĻāĻŋ āĻāĻĻā§āĻā§āϤ āĻšāϤ⧠āĻĒāĻžāϰ⧠āύāĻž) āĻāĻāĻŋ āϏāĻŽā§āĻāĻŦ āĻšāϤā§, āϤāĻžāĻ āύāĻž? ..
āĻāĻĒāĻžāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž, āϤā§āϰā§āĻāĻŋ āĻāĻŦāĻ āϰāĻŋāĻāĻžāϰā§āύ āĻŽāĻžāύ āϏāĻŽā§āĻĒāϰā§āĻā§. āĻāĻŽāύāĻāĻŋ āϝāĻžāϰāĻž TL āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§āĻā§ āϤāĻžāϰāĻž āϤāĻžāĻĻā§āϰ āĻā§āĻ āĻāĻžāĻĒāϏāĻž āĻāϰ⧠āĻĻā§āϝāĻŧ - āĻāĻāĻŋ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻŽāĻžāĻĻā§āϰ āĻŽāύ⧠āĻšāϝāĻŧ āύāĻŋ āĻĒā§āϰāϤā§āϝā§āĻāĻāĻŋ TL-āĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āĻāϏāϞ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦāϰā§āĻŖāĻŋāϤ āϰāĻŋāĻāĻžāϰā§āύ āĻāĻžāĻāĻĒ āύāϝāĻŧ, āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋāĻ āĻĢā§āϰāϤ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŋāύā§āϤ⧠TL āύāĻŋāĻā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻŋ āĻā§āύā§āĻāĻžāĻŦā§āĻ āĻ āύā§āĻŽāĻžāύ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻžāĨ¤ āĻ āĻŦāĻļā§āϝāĻ, āĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāĻŦāĻ āĻ āύā§āĻļā§āϞāύ⧠āĻā§āύāĻ āĻāĻŋāĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ (āϝāĻĻāĻŋāĻ āĻŦāĻžāϏā§āϤāĻŦā§, āĻāϰāĻĒāĻŋāϏāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžāϝāĻŧā§ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻāĻŽāϰāĻž āĻĒāϰ⧠āĻāĻāĻŋāϤ⧠āĻĢāĻŋāϰ⧠āĻāϏāĻŦ) - āϤāĻŦā§ āĻŦāĻŋāĻŽā§āϰā§āϤ āĻĒā§āϰāĻāĻžāϰā§āϰ āĻāĻŖāĻŋāϤā§āϰ āϧāĻžāϰāĻŖāĻžāĻā§āϞāĻŋāϰ āĻŦāĻŋāĻļā§āĻĻā§āϧāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻā§ āĻšāĻŦā§? āϏā§āĻŦāϰā§āĻā§āϝāĻŧ āĻĒā§āĻĨāĻŋāĻŦā§ āĻĨā§āĻā§?.. āĻāĻŽāĻŋ āĻāĻžāĻ āϤā§āϞā§āĻāĻŋ - āϤāĻžāĻ āĻāĻāĻŋ āĻŽā§āϞā§āĨ¤
āĻāĻŦāĻ āĻ āĻŦāĻļā§āώā§, āĻĒāĻ āύāϝā§āĻā§āϝāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋ? āĻāĻžāϞ, āϏā§āĻāĻžāύā§, āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻāĻžāĻ āĻŦāĻŋāĻŦāϰāĻŖ āĻāĻāĻŋ āϏā§āĻāĻŋāĻŽāĻžāϤ⧠āĻ āĻŋāĻ āĻāĻā§ (āĻā§āĻāϏāĻāύ āϏā§āĻāĻŋāĻŽāĻžāϤā§, āĻāĻŦāĻžāϰ, āĻāĻāĻŋ), āϤāĻŦā§ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻāĻŋ āύāĻŋāϝāĻŧā§ āĻāĻžāĻĒā§ āĻĨāĻžāĻā§āύ āϤāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻĻāĻŋāĻāĻāĻŋ āĻā§ āĻšāĻŦā§ - āĻāĻĒāĻĄā§āĻā§āϰ āϏāĻŽāϝāĻŧ āĻ āύā§āϤāϤ āϤā§āĻā§āĻāĻāĻžāĻŦā§ āĻĒāĻžāϰā§āĻĨāĻā§āϝāĻā§āϞāĻŋ āĻĻā§āĻāĻā§āύ? āĻ āύāĻŋāĻā§āϰ āĻāύā§āϝ āĻĻā§āĻā§āύ :
-channelFull#76af5481 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int = ChatFull;
+channelFull#1c87a71a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_view_stats:flags.12?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int = ChatFull;
āĻŦāĻž
-message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long = Message;
+message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long = Message;
āĻāĻāĻŋ āĻĒā§āϰāϤā§āϝā§āĻā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§, āĻāĻŋāύā§āϤ⧠GitHub, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻ āϧāϰāύā§āϰ āĻĻā§āϰā§āĻ āϞāĻžāĻāύā§āϰ āĻŽāϧā§āϝ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻā§āϞāĻŋ āĻšāĻžāĻāϞāĻžāĻāĻ āĻāϰāϤ⧠āĻ āϏā§āĻŦā§āĻāĻžāϰ āĻāϰā§āĨ¤ āĻā§āĻŽāĻāĻŋ "10āĻāĻŋ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻā§āĻāĻā§āύ" āĻāĻŦāĻ āĻŽāϏā§āϤāĻŋāώā§āĻ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āϝāĻž āĻĻā§āĻā§ āϤāĻž āĻšāϞ āϝ⧠āĻāĻāϝāĻŧ āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āĻļā§āϰ⧠āĻāĻŦāĻ āĻļā§āώ āĻāĻāĻ, āĻāĻĒāύāĻžāĻā§ āĻā§āϞāĻžāύā§āϤāĻŋāĻāϰāĻāĻžāĻŦā§ āĻŽāĻžāĻāĻāĻžāύ⧠āĻā§āĻĨāĻžāĻ āĻĒāĻĄāĻŧāϤ⧠āĻšāĻŦā§... āĻāĻŽāĻžāϰ āĻŽāϤā§, āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϤāϤā§āϤā§āĻŦā§ āύāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻŦāĻŋāĻļā§āĻĻā§āϧāĻāĻžāĻŦā§ āĻĻā§āĻļā§āϝāϤ āύā§āĻāϰāĻž āĻāĻŦāĻ āĻĸāĻžāϞā§.
āϝāĻžāĻāĻšā§āĻ, āϤāϤā§āϤā§āĻŦā§āϰ āĻŦāĻŋāĻļā§āĻĻā§āϧāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§āĨ¤ āĻā§āύ āĻāĻŽāϰāĻž āĻŦāĻŋāĻ āĻā§āώā§āϤā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ? āĻŽāύ⧠āĻšāϝāĻŧ āύāĻž āĻāϰāĻž āĻāύā§āϧ āĻāĻžāĻāĻĒ āϤāϤā§āϤā§āĻŦā§āϰ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āĻāĻžāϰāĻžāĻĒ? āĻŦā§āϝāĻžāĻā§āϝāĻžāĻāĻŋ āĻāĻŋāϤā§āϰāĻāĻŋāϰ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϤ⧠āĻĻā§āĻāĻž āϝāĻžāϝāĻŧāĨ¤ āĻĒā§āϰāĻĨāĻŽā§, āĻšā§āϝāĻžāĻ, āĻāĻāĻŋ āĻāĻŽāύāĻ āĻāĻŋāϞ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻšāĻžāĻāĻāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āύāϤā§āύ āϧāϰāĻŖā§āϰ āϤā§āϰāĻŋ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻāĻ āϰā§āĻĄāĻŋāĻŽā§āύā§āĻāĻā§āϞāĻŋ āĻāĻāύāĻ āĻāĻ āĻĢāϰā§āĻŽāĻāĻŋāϤ⧠āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ:
storage.fileUnknown#aa963b05 = storage.FileType;
storage.filePartial#40bc6f52 = storage.FileType;
storage.fileJpeg#7efe0e = storage.FileType;
storage.fileGif#cae1aadf = storage.FileType;
storage.filePng#a4f63c0 = storage.FileType;
storage.filePdf#ae1e508d = storage.FileType;
storage.fileMp3#528a0677 = storage.FileType;
storage.fileMov#4b09ebbc = storage.FileType;
storage.fileMp4#b3cea0e4 = storage.FileType;
storage.fileWebp#1081464c = storage.FileType;āĻāĻŋāύā§āϤ⧠āĻāĻāύ āĻāϞā§āĻĒāύāĻž āĻāϰā§āύ, āĻāĻĒāύāĻžāϰ āĻāĻžāĻ āĻžāĻŽā§āϤ⧠āϝāĻĻāĻŋ 5āĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻā§āώā§āϤā§āϰ āĻĨāĻžāĻā§, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻžāϰ āϏāĻŽāϏā§āϤ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻāύā§āϝ 32 āĻĒā§āϰāĻāĻžāϰā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§āĨ¤ āϏāĻŽā§āĻŽāĻŋāϞāĻŋāϤ āĻŦāĻŋāϏā§āĻĢā§āϰāĻŖāĨ¤ āĻāĻāĻāĻžāĻŦā§, TL āϤāϤā§āϤā§āĻŦā§āϰ āϏā§āĻĢāĻāĻŋāĻ āĻŦāĻŋāĻļā§āĻĻā§āϧāϤāĻž āĻāĻŦāĻžāϰāĻ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻāĻ ā§āϰ āĻŦāĻžāϏā§āϤāĻŦāϤāĻžāϰ āĻĸāĻžāϞāĻžāĻ-āϞā§āĻšāĻž āĻāĻžāϧāĻžāϰ āĻŦāĻŋāϰā§āĻĻā§āϧ⧠āĻāĻŋāύā§āύāĻāĻŋāύā§āύ āĻšāϝāĻŧā§ āĻā§āĻā§āĨ¤
āĻāĻĒāϰāύā§āϤā§, āĻāĻŋāĻā§ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻāĻ āĻā§āϞā§āϰāĻž āύāĻŋāĻā§āϰāĻžāĻ āϤāĻžāĻĻā§āϰ āύāĻŋāĻāϏā§āĻŦ āĻāĻžāĻāĻĒā§āϞāĻāĻŋ āϞāĻā§āĻāύ āĻāϰā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, MTProto (āĻĒāϰāĻŦāϰā§āϤ⧠āĻ āϧā§āϝāĻžāϝāĻŧ) āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž Gzip āĻĻā§āĻŦāĻžāϰāĻž āϏāĻāĻā§āĻāĻŋāϤ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϏāĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§ - āϏā§āϤāϰ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻŋāĻ āϞāĻā§āĻāύ āĻāϰāĻž āĻāĻžāĻĄāĻŧāĻžāĨ¤ āĻāĻŦāĻžāϰ, āĻāĻāĻŋ RpcResult āύāĻŋāĻā§āĻ āύāϝāĻŧ āϝā§āĻāĻŋ āĻāĻžāĻāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āϤāĻŦā§ āĻāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§āĨ¤ āĻāĻā§āĻāĻž, āĻāĻāĻž āĻā§āύ?... āĻāĻŽāĻžāĻā§ āĻāĻāĻāĻž āĻā§āϰāĻžāĻ āĻāĻžāĻāϤ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ āϝāĻžāϤ⧠āĻāĻŽā§āĻĒā§āϰā§āĻļāύ āϝ⧠āĻā§āύ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻāĻžāĻ āĻāϰā§āĨ¤
āĻŦāĻž āĻ
āύā§āϝ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ, āĻāĻŽāϰāĻž āĻāĻāĻŦāĻžāϰ āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰā§āĻāĻŋ - āĻāĻāĻŋ āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ InputPeerUser āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠InputUser. āĻ
āĻĨāĻŦāĻž āĻāϞāĻāĻž. āĻāĻŋāύā§āϤ⧠āĻāĻāĻž āĻāĻžāĻ! āĻ
āϰā§āĻĨāĻžā§, āϏāĻžāϰā§āĻāĻžāϰ āĻāĻžāĻāĻĒ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāύā§āϤāĻž āĻāϰ⧠āύāĻžāĨ¤ āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻšāϤ⧠āĻĒāĻžāϰā§? āĻāϤā§āϤāϰāĻāĻŋ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ-āĻā§āϞāĻŋ āĻĨā§āĻā§ āĻā§āĻĄ āĻā§āĻāϰ⧠āĻĻā§āĻŦāĻžāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻĻā§āĻāϝāĻŧāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§:
if (tgl_get_peer_type (E->id) != TGL_PEER_CHANNEL || (C && (C->flags & TGLCHF_MEGAGROUP))) {
out_int (CODE_messages_get_history);
out_peer_id (TLS, E->id);
} else {
out_int (CODE_channels_get_important_history);
out_int (CODE_input_channel);
out_int (tgl_get_peer_id (E->id));
out_long (E->id.access_hash);
}
out_int (E->max_id);
out_int (E->offset);
out_int (E->limit);
out_int (0);
out_int (0);āĻ āύā§āϝ āĻāĻĨāĻžāϝāĻŧ, āĻāĻāĻžāύā§āĻ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻāϰāĻž āĻšāϝāĻŧ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ, āĻā§āύāĻžāϰā§āĻā§āĻĄ āĻā§āĻĄ āύāϝāĻŧ! āĻšāϝāĻŧāϤ⧠āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻāĻāĻāĻāĻžāĻŦā§ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§?... āύā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻāĻāĻŦāĻžāϰ āĻāϰāĻž āĻšāϞ⧠āĻāĻāĻŋ āĻāĻžāĻ āĻāϰāĻŦā§, āĻāĻŋāύā§āϤ⧠āĻāĻĒāĻĄā§āĻā§āϰ āϏāĻŽāϝāĻŧ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§? āĻāĻ āϏā§āĻāĻŋāĻŽ āĻāĻĻā§āĻāĻžāĻŦāĻŋāϤ āĻšāϝāĻŧā§āĻā§ āĻā§āύ? āĻāĻŦāĻ āĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž āĻĒāϰāĻŦāϰā§āϤ⧠āĻĒā§āϰāĻļā§āύ⧠āĻāĻāĻŋāϝāĻŧā§ āϝāĻžāĻāĨ¤
āϏāĻāϏā§āĻāϰāĻŖ āĻāϰāĻžāĨ¤ āϏā§āϤāϰ
āĻā§āύ āĻĒāϰāĻŋāĻāϞā§āĻĒāĻŋāϤ āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāĻā§ āϏā§āϤāϰ āĻŦāϞāĻž āĻšāϝāĻŧ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āϏā§āĻāĻŋāĻŽā§āϝāĻžāĻāĻŋāĻā§āϏā§āϰ āĻāϤāĻŋāĻšāĻžāϏā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻ āύā§āĻŽāĻžāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏā§āĻĒāώā§āĻāϤāĻ, āĻĒā§āϰāĻĨāĻŽā§ āϞā§āĻāĻāϰāĻž āĻā§āĻŦā§āĻāĻŋāϞā§āύ āϝ⧠āĻŽā§āϞāĻŋāĻ āĻāĻŋāύāĻŋāϏāĻā§āϞāĻŋ āĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āϏā§āĻāĻŋāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻāĻŦāĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϝā§āĻāĻžāύ⧠āĻĒā§āϰāϝāĻŧā§āĻāύ, āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻ āύā§āϰā§āϧā§āϰ āĻāύā§āϝ, āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āϝ⧠āϏā§āĻā§āϞāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āϏāĻāϏā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϰāĻž āĻšāĻā§āĻā§āĨ¤ āύā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§, āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϞ āϧāĻžāϰāĻŖāĻž - āĻāĻŦāĻ āύāϤā§āύ āĻšāĻŦā§, āϝā§āĻŽāύāĻāĻŋ āĻāĻŋāϞ, "āĻŽāĻŋāĻļā§āϰ", āĻĒā§āϰāĻžāύā§āĻāĻŋāϰ āĻāĻĒāϰ⧠āϏā§āϤāϰāϝā§āĻā§āϤāĨ¤ āĻāĻŋāύā§āϤ⧠āĻĻā§āĻāĻž āϝāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āϏāϤā§āϝ, āĻāĻŽāĻŋ āĻĒā§āϰāĻĨāĻŽ āĻĨā§āĻā§āĻ āĻāĻāĻŋ āĻĻā§āĻāϤ⧠āϏāĻā§āώāĻŽ āĻāĻŋāϞāĻžāĻŽ āύāĻž - āĻāĻāĻŋ āĻŽāĻāĻžāϰ, āϤāĻŦā§ āĻŦā§āϏ āϞā§āϝāĻŧāĻžāϰā§āϰ āĻāĻŋāϤā§āϰāĻāĻŋ āĻā§āĻŦāϞ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āύā§āĻāĨ¤ āϏā§āϤāϰāĻā§āϞāĻŋ 2 āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰ⧠āĻšāϝāĻŧā§āĻā§ā§ˇ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ TL āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāϞā§:
āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϞā§āϝāĻŧāĻžāϰ 2 āϏāĻŽāϰā§āĻĨāύ āĻāϰā§, āϤāĻžāĻšāϞ⧠āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻŦāĻļā§āϝāĻ:
invokeWithLayer2#289dd1f6 {X:Type} query:!X = X;āĻ āύā§āĻļā§āϞāύā§, āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ āϝ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ API āĻāϞ āĻāϰāĻžāϰ āĻāĻā§, āĻŽāĻžāύ āϏāĻš āĻāĻāĻāĻŋ int
0x289dd1f6āĻĒāĻĻā§āϧāϤāĻŋ āύāĻŽā§āĻŦāϰā§āϰ āĻāĻā§ āϝā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻļā§āύāĻžāĻā§āĻā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻāϰāĻĒāϰ āĻā§ āĻšāϞ? āϤāĻžāϰāĻĒāϰ āĻšāĻžāĻāĻŋāϰ
invokeWithLayer3#b7475268 query:!X = X;āϤāĻžāĻšāϞ⧠āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻŋ? āĻāĻĒāύāĻŋ āĻ āύā§āĻŽāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ,
invokeWithLayer4#dea0d430 query:!X = X;āĻšāĻžāϏā§āϝāĻāϰ? āύāĻž, āĻšāĻžāϏāϤ⧠āĻā§āĻŦ āϤāĻžāĻĄāĻŧāĻžāϤāĻžāĻĄāĻŧāĻŋ, āĻŦāĻžāϏā§āϤāĻŦāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāύā§āϤāĻž āĻāϰā§āύ āĻĒā§āϰāϤāĻŋ āĻ āύā§āϝ āĻāĻāĻāĻŋ āϏā§āϤāϰ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ āύā§āϰā§āϧ āϝā§āĻŽāύ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ āϧāϰāύā§āϰ āĻāĻŦā§āϤ āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ - āϝāĻĻāĻŋ āϏā§āĻā§āϞāĻŋ āĻāĻĒāύāĻžāϰ āĻāύā§āϝ āĻāϞāĻžāĻĻāĻž āĻšāϝāĻŧ, āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻā§āĻāĻžāĻŦā§ āϤāĻžāĻĻā§āϰ āĻāϞāĻžāĻĻāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ? āĻāĻŦāĻ āϏāĻžāĻŽāύ⧠āĻŽāĻžāϤā§āϰ 4 āĻŦāĻžāĻāĻ āϝā§āĻ āĻāϰāĻž āĻāĻāĻāĻŋ āϏā§āύā§āĻĻāϰ āĻāĻžāϰā§āϝāĻāϰ āĻĒāĻĻā§āϧāϤāĻŋāĨ¤ āϤāĻžāĻ,
invokeWithLayer5#417a57ae query:!X = X;āϤāĻŦā§ āĻāĻāĻž āϏā§āĻĒāώā§āĻ āϝ⧠āĻāĻŋāĻā§āĻā§āώāĻŖ āĻĒāϰ⧠āĻāĻāĻŋ āĻāĻāϰāĻāĻŽ āĻŦāĻžāĻāύāϞāĻŋāϝāĻŧāĻžāϝāĻŧ āĻĒāϰāĻŋāĻŖāϤ āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ āϏāĻŽāĻžāϧāĻžāύ āĻāϏā§āĻā§:
āĻāĻĒāĻĄā§āĻ: āϞā§āϝāĻŧāĻžāϰ 9 āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰā§, āϏāĻšāĻžāϝāĻŧāĻ āĻĒāĻĻā§āϧāϤāĻŋ
invokeWithLayerNāĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāϏāĻžāĻĨā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§initConnection
āĻšā§āϰāϰā§! 9 āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻĒāϰā§, āĻāĻŽāϰāĻž āĻ āĻŦāĻļā§āώ⧠80-āĻāϰ āĻĻāĻļāĻā§ āĻāύā§āĻāĻžāϰāύā§āĻ āĻĒā§āϰā§āĻā§āĻāϞāĻā§āϞāĻŋāϤ⧠āϝāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ āϤāĻžāϤ⧠āĻāϏā§āĻāĻŋ - āϏāĻāϝā§āĻā§āϰ āĻļā§āϰā§āϤ⧠āĻāĻāĻŦāĻžāϰ āϏāĻāϏā§āĻāϰāĻŖā§ āϏāĻŽā§āĻŽāϤ!
āϤāĻžāĻšāϞ⧠āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻŋ? ..
invokeWithLayer10#39620c41 query:!X = X;
...
invokeWithLayer18#1c900537 query:!X = X;āĻāĻŋāύā§āϤ⧠āĻāĻāύ āĻāĻĒāύāĻŋ āĻāĻāύāĻ āĻšāĻžāϏāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻā§āĻŦāϞāĻŽāĻžāϤā§āϰ āĻāϰāĻ 9āĻāĻŋ āϏā§āϤāϰā§āϰ āĻĒāϰā§, āĻāĻāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖ āύāĻŽā§āĻŦāϰ āϏāĻš āĻāĻāĻāĻŋ āϏāϰā§āĻŦāĻāύā§āύ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻ āĻŦāĻļā§āώ⧠āϝā§āĻā§āϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āϝāĻž āϏāĻāϝā§āĻā§āϰ āĻļā§āϰā§āϤ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻŦāĻžāϰ āĻāϞ āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ, āĻāĻŦāĻ āϏā§āϤāϰāĻā§āϞāĻŋāϰ āĻ āϰā§āĻĨ āĻ āĻĻā§āĻļā§āϝ āĻšāϝāĻŧā§ āĻā§āĻā§ āĻŦāϞ⧠āĻŽāύ⧠āĻšāĻā§āĻā§, āĻāĻāύ āĻāĻāĻŋ āĻā§āĻŦāϞ āĻāĻāĻāĻŋ āĻļāϰā§āϤāĻžāϧā§āύ āϏāĻāϏā§āĻāϰāĻŖ, āϝā§āĻŽāύ āϏāϰā§āĻŦāϤā§āϰ āĻ āύā§āϝ. āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ.
āĻ āĻŋāĻ? ..
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [16.07.18/14/01 XNUMX:XNUMX] āĻļā§āĻā§āϰāĻŦāĻžāϰ āĻāĻŽāĻŋ āĻāĻ āĻŦāĻŋāώāϝāĻŧā§ āĻā§āĻŦā§āĻāĻŋāϞāĻžāĻŽ:
āĻā§āϞāĻŋāϏāĻžāϰā§āĻāĻžāϰ āĻāĻāĻāĻŋ āĻ āύā§āϰā§āϧ āĻāĻžāĻĄāĻŧāĻž āĻāĻā§āύā§āĻ āĻĒāĻžāĻ āĻžāϝāĻŧ. āĻ āύā§āϰā§āϧāĻā§āϞāĻŋ āĻ āĻŦāĻļā§āϝāĻ InvokeWithLayer āĻ āĻāĻŦā§āϤ āĻāϰāϤ⧠āĻšāĻŦā§ā§ˇ āϏāĻžāϰā§āĻāĻžāϰ āĻāĻĒāĻĄā§āĻāĻā§āϞāĻŋ āĻŽā§āĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧ āύāĻž; āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻŦāĻ āĻāĻĒāĻĄā§āĻāĻā§āϞāĻŋ āĻŽā§āĻĄāĻŧāĻžāύā§āϰ āĻāύā§āϝ āĻā§āύāĻ āĻāĻžāĻ āĻžāĻŽā§ āύā§āĻ⧎āϏā§āĻā§āϞā§. āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϝ⧠āϏā§āϤāϰāĻāĻŋāϤ⧠āĻāĻĒāĻĄā§āĻ āĻāĻžāϝāĻŧ āϤāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻž
āĻāĻžāĻĻāĻŋāĻŽ āĻāύāĻāĻžāϰāĻ, [16.07.18/14/02 XNUMX:XNUMX] InvokeWithLayer āĻāĻŋ āύā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻ āύāϝāĻŧ?
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [16.07.18/14/02 XNUMX:XNUMX] āĻāĻāĻžāĻ āĻāĻāĻŽāĻžāϤā§āϰ āĻāĻĒāĻžāϝāĻŧ
āĻāĻžāĻĻāĻŋāĻŽ āĻāύāĻāĻžāϰāĻ, [ā§Ļā§/ā§§ā§Ŧ/ā§§ā§Ž ā§§ā§Ē:ā§Ļ⧍] āϝāĻžāϰ āĻ āϰā§āĻĨ āĻŽā§āϞāϤ āĻ āϧāĻŋāĻŦā§āĻļāύā§āϰ āĻļā§āϰā§āϤ⧠āϏā§āϤāϰāĻāĻŋāϰ āĻ āύā§āĻŽā§āĻĻāύ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ
āϝāĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻ āύā§āϏāϰāĻŖ āĻāϰ⧠āϝ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĄāĻžāĻāύāĻā§āϰā§āĻĄ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž
āĻāĻĒāĻĄā§āĻ, i.e. āĻāĻžāĻāĻĒ Updates āϏā§āĻāĻŋāĻŽā§, āϏāĻžāϰā§āĻāĻžāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻā§ āĻāĻĒāĻŋāĻāĻ āĻ
āύā§āϰā§āϧā§āϰ āĻāĻŦāĻžāĻŦā§ āύāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻāĻāĻāĻŋ āĻāĻāύāĻž āĻāĻāϞ⧠āϏā§āĻŦāĻžāϧā§āύāĻāĻžāĻŦā§ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻŋāϞ āĻŦāĻŋāώāϝāĻŧ āϝāĻž āĻ
āύā§āϝ āĻĒā§āϏā§āĻā§ āĻāϞā§āĻāύāĻž āĻāϰāĻž āĻšāĻŦā§, āϤāĻŦā§ āĻāĻĒāĻžāϤāϤ āĻāĻāĻŋ āĻāĻžāύāĻž āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϝ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻ
āĻĢāϞāĻžāĻāύ⧠āĻĨāĻžāĻāĻž āϏāϤā§āϤā§āĻŦā§āĻ āϏāĻžāϰā§āĻāĻžāϰ āĻāĻĒāĻĄā§āĻāĻā§āϞāĻŋ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āĨ¤
āĻāĻāĻāĻžāĻŦā§, āĻāĻĒāύāĻŋ āĻŽā§āĻĄāĻŧāĻžāύ⧠āĻĒā§āϰāϤā§āϝāĻžāĻā§āϝāĻžāύ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒā§āϝāĻžāĻā§āĻ āĻāϰ āϏāĻāϏā§āĻāϰāĻŖ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻāĻŋ āϝā§āĻā§āϤāĻŋāĻāĻāĻžāĻŦā§ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āϏāĻŽāϏā§āϝāĻžāϰ āĻĻāĻŋāĻā§ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāϰā§:
- āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻā§āύ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āϤāĻž āĻāĻžāύāĻžāύā§āϰ āĻāĻā§āĻ āϏāĻžāϰā§āĻāĻžāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻā§ āĻāĻĒāĻĄā§āĻ āĻĒāĻžāĻ āĻžāϝāĻŧ
- āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻĒāĻā§āϰā§āĻĄ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻāĻŽāĻžāϰ āĻāĻŋ āĻāϰāĻž āĻāĻāĻŋāϤ?
- āĻā§ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋāϞā§āϝāĻŧāĻžāϰ āύāĻŽā§āĻŦāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻŽāϤāĻžāĻŽāϤ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϞāĻžāĻāĻžāϞā§āύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāĻŦā§ āύāĻž?
āĻāĻĒāύāĻŋ āĻāĻŋ āĻŽāύ⧠āĻāϰā§āύ āϝ⧠āĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āϤāĻžāϤā§āϤā§āĻŦāĻŋāĻ āĻ āύā§āĻŽāĻžāύ, āĻāĻŦāĻ āĻŦāĻžāϏā§āϤāĻŦā§ āĻāĻāĻŋ āĻāĻāϤ⧠āĻĒāĻžāϰ⧠āύāĻž, āĻāĻžāϰāĻŖ āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āϞā§āĻāĻž āĻšāϝāĻŧā§āĻā§ (āĻ āύā§āϤāϤ, āĻāĻāĻŋ āĻāĻžāϞāĻāĻžāĻŦā§ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§)? āĻšāĻž! āϏā§āĻāĻž āϝā§āĻāĻžāĻŦā§āĻ āĻšā§āĻ āύāĻž āĻā§āύ!
āĻāĻ āĻāĻŽāϰāĻž āĻāĻāϏā§āĻā§ āĻĻā§āĻĄāĻŧā§ āĻ āĻŋāĻ āĻāĻŋ. 14 āĻāĻāϏā§āĻ, āϏā§āĻāĻžāύ⧠āĻŦāĻžāϰā§āϤāĻž āĻāĻŋāϞ āϝ⧠āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻŋāĻā§ āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āĻšāĻā§āĻā§... āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āϞāĻāĻā§āϞāĻŋāϤā§:
2019-08-15 09:28:35.880640 MSK warn main: ANON:87: unknown object type: 0x80d182d1 at TL/Object.pm line 213.
2019-08-15 09:28:35.751899 MSK warn main: ANON:87: unknown object type: 0xb5223b0f at TL/Object.pm line 213.āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ āϏā§āĻā§āϝāĻžāĻ āĻā§āϰā§āϏ (āĻāĻžāϞ, āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āϞāĻāĻŋāĻ āĻ āĻŋāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ)āĨ¤ āϏāϰā§āĻŦā§āĻĒāϰāĻŋ, āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ TL āϤ⧠āĻāĻŋāĻā§ āϏā§āĻŦā§āĻā§āϤ āύāĻž āĻšāϝāĻŧ, āϤāĻŦā§ āĻāĻāĻŋ āϏā§āĻŦāĻžāĻā§āώāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻžāĻāύāĻžāϰāĻŋ, āϞāĻžāĻāύā§āϰ āĻāϰāĻ āύāĻŋāĻā§ āϏāĻŽāϏā§āϤ āϝāĻžāϝāĻŧ, āĻĄāĻŋāĻā§āĻĄāĻŋāĻ āĻ āϏāĻŽā§āĻāĻŦ āĻšāϝāĻŧā§ āϝāĻžāĻŦā§āĨ¤ āĻāĻŽāύ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āĻāĻĒāύāĻžāϰ āĻā§ āĻāϰāĻž āĻāĻāĻŋāϤ?
āĻ āĻŋāĻ āĻāĻā§, āϝ⧠āĻāĻžāϰāĻ āĻŽāύ⧠āĻĒā§āϰāĻĨāĻŽ āĻāĻŋāύāĻŋāϏāĻāĻŋ āĻāϏ⧠āϤāĻž āĻšāϞ āϏāĻāϝā§āĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻāϰāĻž āĻāĻŦāĻ āĻāĻŦāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻžāĨ¤ āϏāĻžāĻšāĻžāϝā§āϝ āύāĻž. āĻāĻŽāϰāĻž CRC32 āĻā§āĻāϞ āĻāϰāĻŋ - āĻāĻā§āϞāĻŋ 73 āϏā§āĻāĻŋāĻŽ āĻĨā§āĻā§ āĻ āĻŦāĻā§āĻā§āĻā§ āĻĒāϰāĻŋāĻŖāϤ āĻšāϝāĻŧā§āĻā§, āϝāĻĻāĻŋāĻ āĻāĻŽāϰāĻž 82-āĻ āĻāĻžāĻ āĻāϰā§āĻāĻŋāĨ¤ āĻāĻŽāϰāĻž āϞāĻāĻā§āϞāĻŋ āϏāĻžāĻŦāϧāĻžāύ⧠āĻĻā§āĻāĻŋ - āĻĻā§āĻāĻŋ āĻāĻŋāύā§āύ āϏā§āĻāĻŋāĻŽ āĻĨā§āĻā§ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āϰāϝāĻŧā§āĻā§!
āĻšāϝāĻŧāϤ⧠āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻ āύāĻžāύā§āώā§āĻ āĻžāύāĻŋāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§ āĻŦāĻŋāĻļā§āĻĻā§āϧāĻāĻžāĻŦā§? āύāĻž, āĻāĻŽāϰāĻž āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ 1.2.17 āĻāĻžāϞ⧠āĻāϰāĻŋ (āϞāĻŋāύāĻžāĻā§āϏ āĻŦāĻŋāϤāϰāĻŖā§āϰ āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻžāϝāĻŧ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāĻž āϏāĻāϏā§āĻāϰāĻŖ), āĻāĻāĻŋ āĻŦā§āϝāϤāĻŋāĻā§āϰāĻŽ āϞāĻā§ āϞāĻŋāĻā§: MTP āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻāĻžāĻāĻĒ āĻāĻāĻĄāĻŋ #b5223b0f MTPMessageMedia-āĻ āĻĒāĻĄāĻŧāĻžâĻ

āĻā§āĻāϞ āĻĻā§āĻāĻŋāϝāĻŧā§āĻā§ āϝ⧠āĻāĻāĻāĻŋ āĻ āύā§āϰā§āĻĒ āϏāĻŽāϏā§āϝāĻž āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻ āύāĻžāύā§āώā§āĻ āĻžāύāĻŋāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻā§āĻā§, āĻāĻŋāύā§āϤ⧠āϤāĻžāϰāĻĒāϰ⧠āϏāĻāϏā§āĻāϰāĻŖ āϏāĻāĻā§āϝāĻž āĻāĻŦāĻ āϏā§āĻ āĻ āύā§āϝāĻžāϝāĻŧā§, āĻ āύā§āĻŽāĻžāύāĻā§āϞāĻŋ āĻāĻŋāύā§āύ āĻāĻŋāϞ ...
āϤāĻžāĻšāϞ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŋ āĻāϰāĻž āĻāĻāĻŋāϤ? āĻā§āϝāĻžāϏāĻŋāϞāĻŋ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻŦāĻŋāĻāĻā§āϤ āĻšāϝāĻŧā§ āĻĒāĻĄāĻŧāĻŋ: āϤāĻŋāύāĻŋ āϏāĻžāϰā§āĻāĻŋāĻ 91-āĻ āĻāĻĒāĻĄā§āĻ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāϞā§āύ, āĻāĻŽāĻŋ āĻāĻŋāĻā§ āĻĻāĻŋāύ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāĻŦāĻ 73-āĻ āĻā§āώā§āĻāĻž āĻāϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāϝāĻŧā§āĻāĻŋāĨ¤ āĻāĻāϝāĻŧ āĻĒāĻĻā§āϧāϤāĻŋāĻ āĻāĻžāĻ āĻāϰā§āĻā§, āĻāĻŋāύā§āϤ⧠āϝā§āĻšā§āϤ⧠āϤāĻžāϰāĻž āĻ āĻāĻŋāĻā§āĻāϤāĻžāĻŽā§āϞāĻ, āϤāĻžāĻ āĻāĻĒāύāĻžāϰ āĻāϤāĻā§āϞāĻŋ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻĒāϰ⧠āĻŦāĻž āύā§āĻā§ āĻĻāϰāĻāĻžāϰ āϤāĻž āĻŦā§āĻāĻž āϝāĻžāĻā§āĻā§ āύāĻžāĨ¤ āϞāĻžāĻĢ āĻĻāĻŋāϤā§, āĻŦāĻž āĻāϤāĻā§āώāĻŖ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻĒāϰ⧠āĻāĻŽāĻŋ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāĻāĻŋ āĻĒā§āύāϰā§āϤā§āĻĒāĻžāĻĻāύ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāϝāĻŧā§āĻāĻŋ: āĻāĻŽāϰāĻž āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻžāϞ⧠āĻāϰāĻŋ, āĻāĻāĻŋ āĻŦāύā§āϧ āĻāϰāĻŋ, āϏāĻžāϰā§āĻāĻŋāĻāĻāĻŋāĻā§ āĻ āύā§āϝ āϏā§āϤāϰ⧠āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻŋ, āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞ⧠āĻāϰāĻŋ, āĻāĻŦāĻžāϰ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āϧāϰāĻŋ, āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤā§āĻāĻŋāϤ⧠āĻĢāĻŋāϰ⧠āϝāĻžāĻ - āĻāĻĢ, āĻā§āύ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āϏāĻžāϰā§āĻāĻŋāĻ āϏā§āĻāĻāĻŋāĻ āĻāĻŦāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞ⧠āĻšāϝāĻŧ āύāĻž āĻāϝāĻŧā§āĻ āĻŽāĻŋāύāĻŋāĻ āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāĻŦā§āĨ¤ āĻāĻĒāύāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āϏā§āϤāϰ āĻĨā§āĻā§ āĻĄā§āĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰā§āϰ āĻŽāĻŋāĻļā§āϰāĻŖ āĻĒāĻžāĻŦā§āύāĨ¤
āĻŦā§āϝāĻžāĻā§āϝāĻž? āĻāĻĒāύāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻĒāϰā§āĻā§āώ āĻāĻĒāϏāϰā§āĻ āĻĨā§āĻā§ āĻ āύā§āĻŽāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϏāĻžāϰā§āĻāĻžāϰ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŽā§āĻļāĻŋāύ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāύā§āϰ āĻ āύā§āĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āύāĻŋāϝāĻŧā§ āĻāĻ āĻŋāϤāĨ¤ āϏāĻŽā§āĻāĻŦāϤ, "āĻŦāĻžāĻĢāĻžāϰāĻŋāĻ" āĻāϰ āĻāύā§āϝ āĻĻāĻžāϝāĻŧā§ āϝ⧠āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āϤāĻžāϰ āĻāϰā§āϧā§āĻŦāϤāύāϰāĻž āϝāĻž āĻĻāĻŋāϝāĻŧā§āĻāĻŋāϞ āϤāĻž āϏāĻžāϰāĻŋāϤ⧠āϰā§āĻā§āĻāĻŋāϞ āĻāĻŦāĻ āϤāĻžāϰāĻž āĻĒā§āϰāĻāύā§āĻŽā§āϰ āϏāĻŽāϝāĻŧ āϝ⧠āϏā§āĻāĻŋāĻŽā§ āĻāĻŋāϞ āϏā§āĻāĻŋ āĻĻāĻŋāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻāĻŦāĻ āĻāĻ āϏāĻžāϰāĻŋ "āĻĒāĻāĻž" āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ, āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāĻā§āĻ āĻāϰāĻž āϝāĻžāϝāĻŧāύāĻŋāĨ¤
āϏāĻŽā§āĻāĻŦāϤ... āĻāĻŋāύā§āϤ⧠āĻāĻāĻž āĻāĻāĻāĻž āĻāϝāĻŧāĻžāύāĻ āĻā§āϰāĻžāĻ?!.. āύāĻž, āĻĒāĻžāĻāϞāĻžāĻŽāĻŋ āĻāĻžāĻŦāĻžāϰ āĻāĻā§, āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ āĻā§āĻĄ āĻĻā§āĻā§ āύā§āĻāϝāĻŧāĻž āϝāĻžāĻāĨ¤ āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āϏāĻāϏā§āĻāϰāĻŖā§ āĻāĻŽāϰāĻž āĻā§āύāĻ āĻāĻŋāĻāϞ āĻĒāĻžāϰā§āϏāĻžāϰ āĻā§āĻāĻā§ āĻĒāĻžāĻ āύāĻž, āϤāĻŦā§ (āĻĄāĻŋ) āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āϏāĻš āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻāĻžāϰ⧠āĻĢāĻžāĻāϞ (āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻāĻŋāĻā§ āϏā§āĻĒāϰā§āĻļ āĻāϰāϤ⧠āĻ āϏā§āĻŦā§āĻāĻžāϰ āĻāϰā§) āĻā§āĻāĻā§ āĻĒāĻžāĻāĨ¤ āĻāĻāĻžāύ⧠āĻā§āĻĄ āϏā§āύāĻŋāĻĒā§āĻ āĻāĻā§:
public static class TL_message_layer68 extends TL_message {
public static int constructor = 0xc09be45f;
//...
//ĐĩŅĐĩ ĐŋаŅĐēа ĐŋОдОйĐŊŅŅ
//...
public static class TL_message_layer47 extends TL_message {
public static int constructor = 0xc992e15c;
public static Message TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) {
Message result = null;
switch (constructor) {
case 0x1d86f70e:
result = new TL_messageService_old2();
break;
case 0xa7ab1991:
result = new TL_message_old3();
break;
case 0xc3060325:
result = new TL_message_old4();
break;
case 0x555555fa:
result = new TL_message_secret();
break;
case 0x555555f9:
result = new TL_message_secret_layer72();
break;
case 0x90dddc11:
result = new TL_message_layer72();
break;
case 0xc09be45f:
result = new TL_message_layer68();
break;
case 0xc992e15c:
result = new TL_message_layer47();
break;
case 0x5ba66c13:
result = new TL_message_old7();
break;
case 0xc06b9607:
result = new TL_messageService_layer48();
break;
case 0x83e5de54:
result = new TL_messageEmpty();
break;
case 0x2bebfa86:
result = new TL_message_old6();
break;
case 0x44f9b43d:
result = new TL_message_layer104();
break;
case 0x1c9b1027:
result = new TL_message_layer104_2();
break;
case 0xa367e716:
result = new TL_messageForwarded_old2(); //custom
break;
case 0x5f46804:
result = new TL_messageForwarded_old(); //custom
break;
case 0x567699b3:
result = new TL_message_old2(); //custom
break;
case 0x9f8d60bb:
result = new TL_messageService_old(); //custom
break;
case 0x22eb6aba:
result = new TL_message_old(); //custom
break;
case 0x555555F8:
result = new TL_message_secret_old(); //custom
break;
case 0x9789dac4:
result = new TL_message_layer104_3();
break;āĻŦāĻž
boolean fixCaption = !TextUtils.isEmpty(message) &&
(media instanceof TLRPC.TL_messageMediaPhoto_old ||
media instanceof TLRPC.TL_messageMediaPhoto_layer68 ||
media instanceof TLRPC.TL_messageMediaPhoto_layer74 ||
media instanceof TLRPC.TL_messageMediaDocument_old ||
media instanceof TLRPC.TL_messageMediaDocument_layer68 ||
media instanceof TLRPC.TL_messageMediaDocument_layer74)
&& message.startsWith("-1");āĻšā§āĻŽ... āĻŦāύā§āϝ āĻĻā§āĻāĻžāĻā§āĻā§āĨ¤ āĻāĻŋāύā§āϤā§, āϏāĻŽā§āĻāĻŦāϤ, āĻāĻāĻŋ āĻā§āύāĻžāϰā§āĻā§āĻĄ āĻā§āĻĄ, āϤāĻžāϰāĻĒāϰ āĻ āĻŋāĻ āĻāĻā§? .. āϤāĻŦā§ āĻāĻāĻŋ āĻ
āĻŦāĻļā§āϝāĻ āϏāĻŽāϏā§āϤ āϏāĻāϏā§āĻāϰāĻŖ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§! āϏāϤā§āϝ, āĻā§āύ āϏāĻŦāĻāĻŋāĻā§ āĻāĻāϤā§āϰ⧠āĻŽāĻŋāĻļā§āϰāĻŋāϤ, āĻā§āĻĒāύ āĻā§āϝāĻžāĻ āĻāĻŦāĻ āϏāĻŦ āϧāϰāĻŖā§āϰ āĻšāϝāĻŧ āϤāĻž āϏā§āĻĒāώā§āĻ āύāϝāĻŧ _old7 āĻā§āύā§āĻāĻžāĻŦā§ āĻŽā§āĻļāĻŋāύ āĻā§āύāĻžāϰā§āĻļāύā§āϰ āĻŽāϤ⧠āϞāĻžāĻāĻā§ āύāĻž... āϝāĻžāĻāĻšā§āĻ, āϏāĻŦāĻā§āϝāĻŧā§ āĻŦā§āĻļāĻŋ āĻāĻŽāĻŋ āĻŦāĻŋāϏā§āĻŽāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞāĻžāĻŽ
TL_message_layer104
TL_message_layer104_2
TL_message_layer104_3āĻŦāύā§āϧā§āϰāĻž, āĻāĻĒāύāĻŋ āĻāĻŋ āĻāĻ āϏā§āϤāϰā§āϰ āĻāĻŋāϤāϰ⧠āĻā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āύāĻž?! āĻāĻā§āĻāĻž, āĻ āĻŋāĻ āĻāĻā§, āϧāϰāĻž āϝāĻžāĻ "āĻĻā§āĻāĻŋ" āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āϏāĻš āĻŽā§āĻā§āϤāĻŋ āĻĒā§āϝāĻŧā§āĻāĻŋāϞ, āĻāĻā§āĻāĻž, āĻāĻāĻŋ āĻāĻā§, āϤāĻŦā§ āϤāĻŋāύ?.. āĻāĻāύāĻ, āĻāĻŦāĻžāϰ āĻāĻāĻ āϰā§āĻ? āĻāĻāĻž āĻāĻŋ āϧāϰāύā§āϰ āĻĒāϰā§āύā§āĻā§āϰāĻžāĻĢāĻŋ, āĻĻā§āĻāĻāĻŋāϤ?...
āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒā§āϰ āϏā§āϰā§āϏ āĻā§āĻĄā§, āϝāĻžāĻāĻšā§āĻ, āĻāĻāĻāĻŋ āĻ āύā§āϰā§āĻĒ āĻāĻŋāύāĻŋāϏ āĻāĻā§ - āϝāĻĻāĻŋ āϤāĻžāĻ āĻšāϝāĻŧ, āϏā§āĻāĻŋāĻŽāĻāĻŋāϤ⧠āĻāĻ āϏāĻžāϰāĻŋāϤ⧠āĻāĻāĻžāϧāĻŋāĻ āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋ āϤāĻžāϰ āϏā§āϤāϰ āύāĻŽā§āĻŦāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰ⧠āύāĻž, āϤāĻŦā§ āĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāϰā§āĨ¤ āĻāĻŽāύ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āϝā§āĻāĻžāύ⧠āϏā§āĻāĻŋāĻŽā§āϰ āĻāύā§āϝ āĻā§āύāĻ āϏāϰāĻāĻžāϰ⧠āϤāĻĨā§āϝā§āϰ āĻāϤā§āϏ āύā§āĻ, āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāϤā§āϏ āĻā§āĻĄ āĻŦā§āϝāϤā§āϤ āĻāĻāĻŋ āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻŦā§? āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āϏā§āĻāĻžāύ āĻĨā§āĻā§ āĻāĻāĻŋ āĻā§āϰāĻšāĻŖ āĻāϰā§āύ āϤāĻŦā§ āĻāĻĒāύāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ āĻšāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž āϝ⧠āϏā§āĻāĻŋāĻŽāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏāĻ āĻŋāĻ āĻāĻŋāύāĻž āϝāϤāĻā§āώāĻŖ āύāĻž āĻāĻĒāύāĻŋ āϏāĻŽāϏā§āϤ āĻĒāĻĻā§āϧāϤāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āύāĨ¤
āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻāĻŽāύāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§? āĻāĻŽāĻŋ āĻāĻļāĻž āĻāϰāĻŋ āĻāĻāύāĻŋāĻ, āĻāĻžāϰā§āϝāĻāϰ⧠āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻĒāϰā§āĻā§āώāĻžāϰ āĻāĻā§āϤāϰāĻž āĻŽāύā§āϤāĻŦā§āϝ⧠āĻāĻžāĻ āĻāϰāĻŦā§āĨ¤
āĻ āĻŋāĻ āĻāĻā§, āĻāϏā§āύ āĻā§āĻĄā§āϰ āĻāϰā§āĻāĻāĻŋ āĻ āĻāĻļ āĻĻā§āĻāĻŋ:
public static class TL_folders_deleteFolder extends TLObject {
public static int constructor = 0x1c295881;
public int folder_id;
public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) {
return Updates.TLdeserialize(stream, constructor, exception);
}
public void serializeToStream(AbstractSerializedData stream) {
stream.writeInt32(constructor);
stream.writeInt32(folder_id);
}
}
//manually created
//RichText start
public static abstract class RichText extends TLObject {
public String url;
public long webpage_id;
public String email;
public ArrayList<RichText> texts = new ArrayList<>();
public RichText parentRichText;
public static RichText TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) {
RichText result = null;
switch (constructor) {
case 0x1ccb966a:
result = new TL_textPhone();
break;
case 0xc7fb5e01:
result = new TL_textSuperscript();
break;āĻāĻ āĻŽāύā§āϤāĻŦā§āϝāĻāĻŋ "āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āϤā§āϰāĻŋ" āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§āϝāĻŧ āϝ⧠āĻāĻ āĻĢāĻžāĻāϞāĻāĻŋāϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻ āĻāĻļ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āϞā§āĻāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ (āĻāĻĒāύāĻŋ āĻāĻŋ āĻĒā§āϰ⧠āϰāĻā§āώāĻŖāĻžāĻŦā§āĻā§āώāĻŖā§āϰ āĻĻā§āĻāϏā§āĻŦāĻĒā§āύ āĻāϞā§āĻĒāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ?), āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻāĻŋ āĻŽā§āĻļāĻŋāύ āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āϝāĻžāĻāĻšā§āĻ, āϤāĻžāϰāĻĒāϰ āĻāϰā§āĻāĻāĻŋ āĻĒā§āϰāĻļā§āύ āĻāĻ ā§ - āϝ⧠āϏā§āϤā§āϰ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ āύāĻž āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ (āϞāĻŋāύāĻžāĻā§āϏ āĻāĻžāϰā§āύā§āϞ⧠āĻāĻāĻāĻŋ āϞāĻž āĻāĻŋāĻĒāĻŋāĻāϞ āĻŦā§āϞāĻŦ), āĻāĻŋāύā§āϤ⧠āĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāώāϝāĻŧāĨ¤
āĻāĻŋāύā§āϤ⧠āϝāĻĨā§āώā§āĻāĨ¤ āĻāϏā§āύ āĻĒā§āϰā§āĻā§āĻāϞā§āϰ āĻĻāĻŋāĻā§ āĻāĻāĻŋāϝāĻŧā§ āϝāĻžāĻ āϝāĻžāϰ āĻāĻĒāϰ⧠āĻāĻ āϏāĻŽāϏā§āϤ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻāϞā§āĨ¤
āĻāĻŽāĻāĻŋāĻĒāĻŋāĻĒā§āϰā§āĻā§
āϏā§āϤāϰāĻžāĻ, āĻāϰ āĻā§āϞāĻž āϝāĻžāĻ Đ¸ āĻāĻŦāĻ āĻāĻŽāϰāĻž āĻĒā§āϰāĻĨāĻŽ āϝ⧠āĻŦāĻŋāώāϝāĻŧā§ āĻšā§āĻāĻāĻ āĻāĻžāĻ āϤāĻž āĻšāϞ āĻĒāϰāĻŋāĻāĻžāώāĻžāĨ¤ āĻāĻŦāĻ āϏāĻŦāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĒā§āϰāĻžāĻā§āϰā§āϝ āϏāĻā§āĻā§. āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āĻāĻāĻāĻŋ āĻŽāĻžāϞāĻŋāĻāĻžāύāĻžāϧā§āύ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻŦāϞ⧠āĻŽāύ⧠āĻšāĻā§āĻā§ - āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻŋāύāĻŋāϏāĻā§ āĻāϞāĻžāĻĻāĻžāĻāĻžāĻŦā§ āĻāϞ āĻāϰāĻž, āĻŦāĻž āĻāĻāĻāĻŋ āĻļāĻŦā§āĻĻā§āϰ āϏāĻžāĻĨā§ āĻāĻŋāύā§āύ āĻāĻŋāύāĻŋāϏ, āĻŦāĻž āĻŦāĻŋāĻĒāϰā§āϤāĻāĻžāĻŦā§ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ āĻāĻā§āĻ-āϏā§āϤāϰā§āϰ API-āĻ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āϏā§āĻāĻŋāĻāĻžāϰ āĻĒā§āϝāĻžāĻ āĻĻā§āĻā§āύ, āĻāĻāĻŋ āύāϝāĻŧ āĻāĻĒāύāĻŋ āĻāĻŋ āĻā§āĻŦā§āĻāĻŋāϞā§āύ)āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, "āĻŽā§āϏā§āĻ" āĻāĻŦāĻ "āϏā§āĻļāύ" āĻāϰ āĻ āϰā§āĻĨ āĻāĻāĻžāύ⧠āϏāĻžāϧāĻžāϰāĻŖ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āĻā§āϝāĻŧā§ āĻāĻŋāύā§āύ āĻāĻŋāĻā§āĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻŦāĻžāϰā§āϤāĻžāĻāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻŦāĻāĻŋāĻā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰ, āĻāĻāĻŋ OOP āĻĒāĻĻā§ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻŦāĻž āĻā§āĻŦāϞ "āĻĒā§āϝāĻžāĻā§āĻ" āĻļāĻŦā§āĻĻāĻāĻŋ āĻŦāϞāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠- āĻāĻāĻŋ āĻāĻāĻāĻŋ āύāĻŋāĻŽā§āύ, āĻĒāϰāĻŋāĻŦāĻšāύ āϏā§āϤāϰ, āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āĻŽāϤ⧠āĻāĻāĻ āĻŦāĻžāϰā§āϤāĻž āύā§āĻ, āĻ āύā§āĻ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦāĻžāϰā§āϤāĻž āϰāϝāĻŧā§āĻā§ . āĻāĻŋāύā§āϤ⧠āĻ āϧāĻŋāĻŦā§āĻļāύ ... āĻāĻŋāύā§āϤ⧠āĻĒā§āϰāĻĨāĻŽ āĻāĻŋāύāĻŋāϏ āĻĒā§āϰāĻĨāĻŽ.
āĻĒāϰāĻŋāĻŦāĻšāύ āϏā§āϤāϰ
āĻĒā§āϰāĻĨāĻŽ āĻāĻŋāύāĻŋāϏāĻāĻŋ āĻĒāϰāĻŋāĻŦāĻšāύāĨ¤ āϤāĻžāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ 5āĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāϞāĻŦā§:
- āĻŦāĻŋāĻāĻŋāύā§āύ TCP
- āĻāϝāĻŧā§āĻŦāϏāĻžāĻāĻ
- HTTPS āĻāϰ āĻāĻĒāϰ āĻāϝāĻŧā§āĻŦāϏāĻā§āĻ
- HTTP- āϰ
- HTTPS āĻĻā§āĻŦāĻžāϰāĻž
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [15.06.18/15/04 XNUMX:XNUMX] UDP āĻĒāϰāĻŋāĻŦāĻšāύāĻ āĻāĻā§, āĻāĻŋāύā§āϤ⧠āĻāĻāĻŋ āύāĻĨāĻŋāĻā§āĻā§āϤ āύāϝāĻŧ
āĻāĻŦāĻ āĻāĻŋāϏāĻŋāĻĒāĻŋ āϤāĻŋāύāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āύā§āĻā§
āĻĒā§āϰāĻĨāĻŽāĻāĻŋ āĻāĻŋāϏāĻŋāĻĒāĻŋāϰ āĻāĻĒāϰ āĻāĻāĻĄāĻŋāĻĒāĻŋāϰ āĻ āύā§āϰā§āĻĒ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒā§āϝāĻžāĻā§āĻā§ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āϝāĻŧā§āύā§āϏ āύāĻŽā§āĻŦāϰ āĻāĻŦāĻ āϏāĻŋāĻāϰāϏāĻŋ āϰāϝāĻŧā§āĻā§
āĻā§āύ āĻāĻāĻāĻŋ āĻāĻžāϰā§āĻā§ āύāĻĨāĻŋ āĻĒāĻĄāĻŧāĻž āĻāϤ āĻŦā§āĻĻāύāĻžāĻĻāĻžāϝāĻŧāĻ?
āĻāϝāĻŧā§āϞ, āĻāĻāĻž āĻāĻāύ āĻāĻā§ :
- āϏāĻāĻā§āώā§āĻĒāĻŋāϤ
- āĻ āύā§āϤāϰā§āĻŦāϰā§āϤā§
- āĻĒā§āϝāĻžāĻĄā§āĻĄ āĻŽāϧā§āϝāĻŦāϰā§āϤā§
- āĻĒā§āϰā§āĻŖ
āĻāĻā§āĻāĻž, āĻ āĻŋāĻ āĻāĻā§, MTProxy-āĻāϰ āĻāύā§āϝ āĻĒā§āϝāĻžāĻĄā§āĻĄ āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ, āĻāĻāĻŋ āĻĒāϰ⧠āϏā§āĻĒāϰāĻŋāĻāĻŋāϤ āĻāĻā§āύā§āĻā§āϰ āĻāĻžāϰāĻŖā§ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻā§āύ āĻāϰāĻ āĻĻā§āĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖ (āĻŽā§āĻ āϤāĻŋāύāĻāĻŋ) āϝāĻāύ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻĻāĻŋāϝāĻŧā§ āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύ? āĻŽā§āϞ MTProto āĻāϰ āĻĻā§āϰā§āĻā§āϝ āĻāĻŦāĻ āĻĒā§āϞā§āĻĄ āĻāĻŋāĻāĻžāĻŦā§ āϏā§āĻ āĻāϰāϤ⧠āĻšāϝāĻŧ āϤāĻžāϰ āĻāĻžāϰāĻāĻŋāĻ āĻŽā§āϞāϤ āĻāĻŋāύā§āύ, āϝāĻž āĻāϰāĻ āĻāϞā§āĻāύāĻž āĻāϰāĻž āĻšāĻŦā§:
- āϏāĻāĻā§āώā§āĻĒā§ āĻāĻāĻŋ 1 āĻŦāĻž 4 āĻŦāĻžāĻāĻ, āĻāĻŋāύā§āϤ⧠0xef āύāϝāĻŧ, āϤāĻžāϰāĻĒāϰ āĻŦāĻĄāĻŋ
- āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻā§ āĻāĻāĻŋ āĻĻā§āϰā§āĻā§āϝā§āϰ 4 āĻŦāĻžāĻāĻ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰ, āĻāĻŦāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻā§ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāϤ⧠āĻšāĻŦā§
0xeeeeeeeeāĻāĻā§āĻāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āϝ⧠āĻāĻāĻŋ āĻŽāϧā§āϝāĻŦāϰā§āϤ⧠- āĻāĻāĻāĻŋ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻāĻžāϰā§āϰ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āϏāĻŦāĻā§āϝāĻŧā§ āĻāϏāĻā§āϤ: āĻĻā§āϰā§āĻā§āϝ, āĻā§āϰāĻŽ āϏāĻāĻā§āϝāĻž, āĻāĻŦāĻ āĻĒā§āϰāϧāĻžāύāϤ MTProto, āĻŦāĻĄāĻŋ, CRC32 āύāϝāĻŧāĨ¤ āĻšā§āϝāĻžāĻ, āĻāĻ āϏāĻŦāĻ TCP-āĻāϰ āĻāĻĒāϰā§āĨ¤ āϝāĻž āĻāĻŽāĻžāĻĻā§āϰāĻā§ āĻāĻāĻāĻŋ āĻ āύā§āĻā§āϰāĻŽāĻŋāĻ āĻŦāĻžāĻāĻ āϏā§āĻā§āϰāĻŋāĻŽ āĻāĻāĻžāϰ⧠āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝ āĻĒāϰāĻŋāĻŦāĻšāύ āϏāϰāĻŦāϰāĻžāĻš āĻāϰā§, āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āĻā§āĻāϏāĻžāĻŽāĻā§āϞāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻāĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻāĻāύ āĻā§āĻ āĻāĻŽāĻžāĻā§ āĻāĻĒāϤā§āϤāĻŋ āĻāϰāĻŦā§ āϝ⧠TCP āĻāϰ 16-āĻŦāĻŋāĻ āĻā§āĻāϏāĻžāĻŽ āĻāĻā§, āϤāĻžāĻ āĻĄā§āĻāĻž āĻĻā§āϰā§āύā§āϤāĻŋ āĻšāϝāĻŧāĨ¤ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āĻāϏāϞ⧠16 āĻŦāĻžāĻāĻā§āϰ āĻŦā§āĻļāĻŋ āĻšā§āϝāĻžāĻļ āϏāĻš āĻāĻāĻāĻŋ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāĻ āĻĒā§āϰā§āĻā§āĻāϞ āϰāϝāĻŧā§āĻā§, āĻāĻ āϏāĻŽāϏā§āϤ āϤā§āϰā§āĻāĻŋ - āĻāĻŦāĻ āĻāϰāĻ āĻŦā§āĻļāĻŋ - āĻāĻāĻāĻŋ āĻāĻā§āĻ āϏā§āϤāϰ⧠āĻāĻāĻāĻŋ SHA āĻ āĻŽāĻŋāϞ āĻĻā§āĻŦāĻžāϰāĻž āϧāϰāĻž āĻšāĻŦā§ā§ˇ āĻāϰ āĻāĻĒāϰ⧠CRC32 āĻāϰ āĻā§āύ āĻĒāϝāĻŧā§āύā§āĻ āύā§āĻāĨ¤
āĻāϏā§āύ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āϤā§āϞāύāĻž āĻāϰāĻŋ, āϝā§āĻāĻžāύ⧠āĻāĻ āĻŦāĻžāĻāĻ āĻĻā§āϰā§āĻā§āϝ āϏāĻŽā§āĻāĻŦ, āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻā§āϰ āϏāĻžāĻĨā§, āϝāĻž āύā§āϝāĻžāϝā§āϝāϤāĻž āĻĻā§āϝāĻŧ "āϝāĻĻāĻŋ 4-āĻŦāĻžāĻāĻ āĻĄā§āĻāĻž āϏāĻžāϰāĻŋāĻŦāĻĻā§āϧāĻāϰāĻŖā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ," āϝāĻž āĻāĻā§āĻŦāĻžāϰā§āĻ āĻŦāĻžāĻā§ āĻāĻĨāĻžāĨ¤ āĻāĻŋ, āĻāĻāĻž āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāĻž āĻšāϝāĻŧ āϝ⧠āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰāϰāĻž āĻāϤāĻāĻžāĻ āĻ āĻā§āώāĻŽ āϝ⧠āϤāĻžāϰāĻž āĻāĻāĻāĻŋ āϏāĻā§āĻ āĻĨā§āĻā§ āϏāĻžāϰāĻŋāĻŦāĻĻā§āϧ āĻŦāĻžāĻĢāĻžāϰ⧠āĻĄā§āĻāĻž āĻĒāĻĄāĻŧāϤ⧠āĻĒāĻžāϰ⧠āύāĻž? āĻāĻĒāύāĻžāĻā§ āĻāĻāύāĻ āĻāĻāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻžāϰāĻŖ āĻĒāĻĄāĻŧāĻž āĻāĻĒāύāĻžāĻā§ āϝā§āĻā§āύ⧠āϏāĻāĻā§āϝāĻ āĻŦāĻžāĻāĻ āĻĢā§āϰāϤ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰ⧠(āĻāĻŦāĻ āĻĒā§āϰāĻā§āϏāĻŋ āϏāĻžāϰā§āĻāĻžāϰāĻ āϰāϝāĻŧā§āĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ...)āĨ¤ āĻ āĻĨāĻŦāĻž āĻ āύā§āϝ āĻĻāĻŋāĻā§, āĻā§āύ āĻŦā§āϞāĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝāĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāύāĻ 16 āĻŦāĻžāĻāĻā§āϰ āĻāĻĒāϰ⧠āĻāĻžāϰ⧠āĻĒā§āϝāĻžāĻĄāĻŋāĻ āĻĨāĻžāĻāĻŦā§ - 3 āĻŦāĻžāĻāĻ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ āĻāĻāύāĻ āĻāĻāύāĻ ?
āĻāĻāĻāύā§āϰ āϧāĻžāϰāĻŖāĻž āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ āϝ⧠āύāĻŋāĻā§āϞāĻžāĻ āĻĻā§āϰāĻ āϏāϤā§āϝāĻŋāĻāĻžāϰ āĻ āϰā§āĻĨā§ āĻā§āύ⧠āĻŦāĻžāϏā§āϤāĻŦ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻžāĻĄāĻŧāĻžāĻ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒā§āϰā§āĻā§āĻāϞ āϏāĻš āĻāĻžāĻāĻžāϰ āύāϤā§āύ āĻāĻĻā§āĻāĻžāĻŦāύ āĻāϰāϤ⧠āĻĒāĻāύā§āĻĻ āĻāϰā§āύāĨ¤
āĻ āύā§āϝāĻžāύā§āϝ āĻĒāϰāĻŋāĻŦāĻšāύ āĻŦāĻŋāĻāϞā§āĻĒ, āϏāĻšāĨ¤ āĻāϝāĻŧā§āĻŦ āĻāĻŦāĻ MTProxy, āĻāĻŽāϰāĻž āĻāĻāύ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻŦ āύāĻž, āĻšāϝāĻŧāϤ āĻ āύā§āϝ āĻĒā§āϏā§āĻā§, āϝāĻĻāĻŋ āĻ āύā§āϰā§āϧ āĻĨāĻžāĻā§āĨ¤ āĻāĻ āĻāĻāĻ MTProxy āϏāĻŽā§āĻĒāϰā§āĻā§, āĻāϏā§āύ āĻāĻŽāϰāĻž āĻāĻāύ āĻļā§āϧ⧠āĻŽāύ⧠āϰāĻžāĻāĻŋ āϝ⧠2018 āϏāĻžāϞ⧠āĻāĻāĻŋāϰ āĻĒā§āϰāĻāĻžāĻļā§āϰ āĻĒāϰāĻĒāϰāĻ, āĻĒā§āϰāĻĻāĻžāύāĻāĻžāϰā§āϰāĻž āĻĻā§āϰā§āϤ āĻāĻāĻŋ āĻŦā§āϞāĻ āĻāϰāϤ⧠āĻļāĻŋāĻā§āĻāĻŋāϞ, āϝāĻžāϰ āĻāĻĻā§āĻĻā§āĻļā§āϝ⧠āĻŦāĻžāĻāĻĒāĻžāϏ āĻŦā§āϞāĻāĻŋāĻāĻ āύā§āϝāĻžāϝāĻŧā§ āĻĒā§āϝāĻžāĻā§āĻ āĻāĻāĻžāϰ! āĻāĻŦāĻ āĻāĻāĻŋāĻ āϝ⧠MTProxy āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āϏāĻŋ-āϤ⧠āϞā§āĻāĻž (āĻāĻŦāĻžāϰ āĻāϝāĻŧāĻžāϞā§āĻāĻŽā§āϝāĻžāύ āĻĻā§āĻŦāĻžāϰāĻž) āϞāĻŋāύāĻžāĻā§āϏ āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āĻ āϤā§āϝāϧāĻŋāĻāĻāĻžāĻŦā§ āĻāĻŦāĻĻā§āϧ āĻāĻŋāϞ, āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āĻŽā§āĻā§āĻ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻŋāϞ āύāĻž (āĻĢāĻŋāϞ āĻā§āϞāĻŋāύ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻŦā§āύ), āĻāĻŦāĻ Go āĻŦāĻž Node.js-āĻ āĻ āύā§āϰā§āĻĒ āϏāĻžāϰā§āĻāĻžāϰ āĻšāĻŦā§ āĻāĻāĻļā§āϰāĻ āĻāĻŽ āϞāĻžāĻāύ⧠āĻĢāĻŋāĻāĨ¤
āϤāĻŦā§ āĻāĻŽāϰāĻž āĻ āύā§āϝāĻžāύā§āϝ āĻŦāĻŋāώāϝāĻŧāĻā§āϞāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻžāϰ āĻĒāϰ⧠āĻŦāĻŋāĻāĻžāĻā§āϰ āĻļā§āώ⧠āĻāĻ āϞā§āĻāĻĻā§āϰ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āϏāĻžāĻā§āώāϰāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ⧠āĻāĻāĻāĻŦāĨ¤ āĻāĻĒāĻžāϤāϤ, āĻāϞā§āύ OSI āϞā§āϝāĻŧāĻžāϰ 5, āϏā§āĻļāύ⧠āϝāĻžāĻāϝāĻŧāĻž āϝāĻžāĻ - āϝā§āĻāĻžāύ⧠āϤāĻžāϰāĻž MTProto āϏā§āĻļāύ āϰā§āĻā§āĻā§āĨ¤
āĻā§, āĻŦāĻžāϰā§āϤāĻž, āϏā§āĻļāύ, āĻĄāĻŋāĻĢāĻŋ-āĻšā§āϞāĻŽā§āϝāĻžāύ
āϤāĻžāϰāĻž āϏā§āĻāĻžāύ⧠āĻāĻāĻŋāĻā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āύāĻŋ... āĻāĻāĻāĻŋ āϏā§āĻļāύ āĻāĻāĻ āϏā§āĻļāύ āύāϝāĻŧ āϝāĻž āϏāĻā§āϰāĻŋāϝāĻŧ āϏā§āĻļāύā§āϰ āĻ āϧā§āύ⧠āĻāύā§āĻāĻžāϰāĻĢā§āϏ⧠āĻĻā§āĻļā§āϝāĻŽāĻžāύāĨ¤ āĻāĻŋāύā§āϤ⧠āĻā§āϰāĻŽāĻžāύā§āϏāĻžāϰā§āĨ¤

āϤāĻžāĻ āĻāĻŽāϰāĻž āĻĒāϰāĻŋāĻŦāĻšāύ āϏā§āϤāϰ āĻĨā§āĻā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻĻā§āϰā§āĻā§āϝā§āϰ āĻāĻāĻāĻŋ āĻŦāĻžāĻāĻ āϏā§āĻā§āϰāĻŋāĻ āĻĒā§āϝāĻŧā§āĻāĻŋāĨ¤ āĻāĻāĻŋ āĻšāϝāĻŧ āĻāĻāĻāĻŋ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻŦāĻžāϰā§āϤāĻž āĻŦāĻž āĻĒā§āϞā§āĻāύāĻā§āĻā§āϏāĻ - āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āĻāĻāύāĻ āĻŽā§āϞ āĻā§āĻā§āϤāĻŋāϰ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āĻĨāĻžāĻāĻŋ āĻāĻŦāĻ āĻŦāĻžāϏā§āϤāĻŦā§ āĻāĻāĻŋ āĻāϰāĻāĻŋāĨ¤ āĻāĻŽāϰāĻž "āĻā§" āύāĻžāĻŽāĻ āϧāĻžāϰāĻŖāĻžāϰ āĻā§āĻā§āĻ āĻā§āύāĻāĻŋāϰ āĻāĻĨāĻž āĻŦāϞāĻāĻŋ? āĻāϏā§āύ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻāĻŋāĻŽā§āϰ āĻāύā§āϝ āĻāĻ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āϏā§āĻĒāώā§āĻ āĻāϰāĻŋ (āĻāĻŽāĻŋ āϏāĻāĻžāϞ 4 āĻāĻžāϝāĻŧ āĻā§āϞāĻžāύā§āϤ āĻŽāϏā§āϤāĻŋāώā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻāϰā§āĻāĻŋ āĻĨā§āĻā§ āĻāĻŽāĻžāϰ āύāĻŋāĻā§āϰ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻ āύā§āĻŦāĻžāĻĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻā§āώāĻŽāĻžāĻĒā§āϰāĻžāϰā§āĻĨā§, āĻāĻŋāĻā§ āĻŦāĻžāĻā§āϝāĻžāĻāĻļāĻā§āϞāĻŋāĻā§ āϏā§āĻā§āϞāĻŋ āĻšāĻŋāϏāĻžāĻŦā§ āĻā§āĻĄāĻŧā§ āĻĻā§āĻāϝāĻŧāĻž āϏāĻšāĻ āĻāĻŋāϞ):
āĻŦāϞāĻž āĻšāϝāĻŧ āĻĻā§āĻāĻŋ āϏāϤā§āϤāĻž āĻāĻā§ āϏā§āĻļāύ - "āĻŦāϰā§āϤāĻŽāĻžāύ āϏā§āĻļāύ" āĻāϰ āĻ āϧā§āύ⧠āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ UI āĻāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ, āϝā§āĻāĻžāύ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏā§āĻļāύ āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĄāĻŋāĻāĻžāĻāϏ / OS āĻāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞ⧠āϝāĻžāϝāĻŧ⧎
āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ - MTProto āĻ āϧāĻŋāĻŦā§āĻļāύ, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āĻŦāĻžāϰā§āϤāĻžāĻāĻŋāϰ āĻā§āϰāĻŽ āϏāĻāĻā§āϝāĻž āϰāϝāĻŧā§āĻā§ (āύāĻŋāĻŽā§āύ-āϏā§āϤāϰā§āϰ āĻ āϰā§āĻĨā§), āĻāĻŦāĻ āϝāĻž āĻŦāĻŋāĻāĻŋāύā§āύ TCP āϏāĻāϝā§āĻā§āϰ āĻŽāϧā§āϝ⧠āϏā§āĻĨāĻžāϝāĻŧā§ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻžāϧāĻŋāĻ MTProto āϏā§āĻļāύ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻāύāϏā§āĻāϞ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻĢāĻžāĻāϞ āĻĄāĻžāĻāύāϞā§āĻĄā§āϰ āĻāϤāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāύā§āϰ āĻāύā§āϝāĨ¤āĻāĻ āĻĻā§āĻāϝāĻŧā§āϰ āĻŽāϧā§āϝ⧠āϏā§āĻļāύ āĻāĻāĻāĻŋ āϧāĻžāϰāĻŖāĻž āĻāĻā§ āĻ āύā§āĻŽā§āĻĻāύ. āĻ āϧāĻāĻĒāϤāύā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻŽāϰāĻž āϤāĻž āĻŦāϞāϤ⧠āĻĒāĻžāϰāĻŋ UI āϏā§āĻļāύ āĻāĻāĻžāϰ āĻŽāϤāĻ āĻ āύā§āĻŽā§āĻĻāύ, āĻāĻŋāύā§āϤ⧠āĻšāĻžāϝāĻŧ, āϏāĻŦāĻāĻŋāĻā§āĻ āĻāĻāĻŋāϞāĨ¤ āĻāϞā§āύ āĻĻā§āĻāĻž āϝāĻžāĻ:
- āύāϤā§āύ āĻĄāĻŋāĻāĻžāĻāϏ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻĒā§āϰāĻĨāĻŽā§ āϤā§āϰāĻŋ āĻāϰ⧠āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§ āĻāĻŦāĻĻā§āϧ āĻāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ āĻāϏāĻāĻŽāĻāϏā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ - āϤāĻžāĻ āĻ āύā§āĻŽā§āĻĻāύ
- āĻāĻāĻž āĻĒā§āϰāĻĨāĻŽ āĻāĻŋāϤāϰ⧠āĻāĻā§āĻā§ MTProto āĻ āϧāĻŋāĻŦā§āĻļāύ, āĻā§āύāĻāĻŋ āĻāĻā§
session_idāύāĻŋāĻā§āϰ āĻāĻŋāϤāϰā§āĨ¤- āĻāĻ āϧāĻžāĻĒā§, āϏāĻŽāύā§āĻŦāϝāĻŧ āĻ āύā§āĻŽā§āĻĻāύ и
session_idāĻŦāϞāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āĻāĻĻāĻžāĻšāϰāĻŖ - āĻāĻ āĻļāĻŦā§āĻĻāĻāĻŋ āĻāĻŋāĻā§ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŦāĻ āĻā§āĻĄā§ āĻāĻĒāϏā§āĻĨāĻŋāϤ āĻšāϝāĻŧ- āϤāĻžāϰāĻĒāϰ, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻā§āϞāϤ⧠āĻĒāĻžāϰā§āύ āĻŦāĻŋāĻāĻŋāύā§āύ MTProto āϏā§āĻļāύ āĻāĻāĻ āĻ āϧā§āύ⧠āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§ - āĻāĻāĻ āĻĄāĻŋāϏāĻŋāϰ āĻāĻžāĻā§āĨ¤
- āϤāĻžāϰāĻĒāϰā§, āĻāĻāĻĻāĻŋāύ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻā§ āĻĢāĻžāĻāϞāĻāĻŋ āĻ āύā§āϰā§āϧ āĻāϰāϤ⧠āĻšāĻŦā§ āĻ āύā§āϝ āĻĄāĻŋāϏāĻŋ - āĻāĻŦāĻ āĻāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āύāϤā§āύ āĻĄāĻŋāϏāĻŋ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāĻŦā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§ !
- āϏāĻŋāϏā§āĻā§āĻŽāĻā§ āĻāĻžāύāĻžāύ⧠āϝ⧠āĻāĻāĻŋ āĻāĻāĻāĻŋ āύāϤā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āύāϝāĻŧ āϝāĻžāϰāĻž āύāĻŋāĻŦāύā§āϧāύ āĻāϰāĻā§, āϤāĻŦā§ āĻāĻāĻ āĻ āύā§āĻŽā§āĻĻāύ (UI āϏā§āĻļāύ), āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ API āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§
auth.exportAuthorizationāĻŦāĻžāĻĄāĻŧāĻŋāϤ⧠āĻĄāĻŋāϏāĻŋauth.importAuthorizationāύāϤā§āύ āĻĄāĻŋāϏāĻŋāϤā§āĨ¤- āϏāĻŦāĻāĻŋāĻā§ āĻāĻāĻ, āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻā§āϞāĻž āĻšāϤ⧠āĻĒāĻžāϰ⧠MTProto āϏā§āĻļāύ (āĻĒā§āϰāϤāĻŋāĻāĻŋ āϤāĻžāϰ āύāĻŋāĻāϏā§āĻŦ
session_id) āĻāĻ āύāϤā§āύ āĻĄāĻŋāϏāĻŋ, āĻ āϧā§āύ⧠āϤāĻžāϰ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§.- āĻ āĻŦāĻļā§āώā§, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĒāĻžāϰāĻĢā§āĻā§āĻ āĻĢāϰāĻāϝāĻŧāĻžāϰā§āĻĄ āϏāĻŋāĻā§āϰā§āϏāĻŋ āĻāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻĒā§āϰāϤāĻŋ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§ āĻŽāύ⧠āĻšāĻā§āĻāĻŋāϞ āϏā§āĻĨāĻžāϝāĻŧā§ āĻā§ - āĻĒā§āϰāϤāĻŋ āĻĄāĻŋāϏāĻŋ - āĻāĻŦāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§
auth.bindTempAuthKeyāĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻ āϏā§āĻĨāĻžāϝāĻŧā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§ - āĻāĻŦāĻ āĻāĻŦāĻžāϰ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ temp_auth_key āĻĄāĻŋāϏāĻŋ āĻĒā§āϰāϤāĻŋ, āϏāĻŦāĻžāϰ āĻāύā§āϝ āϏāĻžāϧāĻžāϰāĻŖ MTProto āϏā§āĻļāύ āĻāĻ āĻĄāĻŋāϏāĻŋāϰ āĻāĻžāĻā§āĨ¤āύā§āĻ āĻāϰā§āύ āϞāĻŦāĻŖ (āĻāĻŦāĻ āĻāĻŦāĻŋāώā§āϝāϤā§āϰ āϞāĻŦāĻŖ)āĻ āĻāĻ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻā§ āϏā§āĻā§āϞā§. āϏāĻŦāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻžāĻ āĻāϰāĻž MTProto āϏā§āĻļāύ āĻāĻāĻ āĻĄāĻŋāϏāĻŋāϰ āĻāĻžāĻā§āĨ¤
"āĻŦāĻŋāĻāĻŋāύā§āύ TCP āϏāĻāϝā§āĻā§āϰ āĻŽāϧā§āϝā§" āĻŽāĻžāύ⧠āĻāĻŋ? āϤāĻžāĻ āĻāĻ āĻŽāĻžāύ⧠āĻāĻŋāĻā§āĻāĻž āĻāĻāϰāĻāĻŽ āĻāĻāĻāĻŋ āĻāϝāĻŧā§āĻŦāϏāĻžāĻāĻā§ āĻ āύā§āĻŽā§āĻĻāύ āĻā§āĻāĻŋ - āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āϰāĻĻāϤā§āϤ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻ āύā§āĻ āĻāĻŋāϏāĻŋāĻĒāĻŋ āϏāĻāϝā§āĻ āĻŦāĻāĻžāϝāĻŧ āĻĨāĻžāĻā§ (āĻāĻŋāĻā§ āĻĨāĻžāĻā§), āĻāĻŋāύā§āϤ⧠āĻāĻāĻĻāĻŋāύ āĻāĻāĻŋ āĻāĻžāϰāĻžāĻĒ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ HTTP āĻāϰ āĻŦāĻŋāĻĒāϰā§āϤā§, āĻāĻāĻāĻŋ āϏā§āĻļāύā§āϰ āĻŽāϧā§āϝ⧠MTProto āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āĻā§āϰāĻŽāĻžāύā§āϏāĻžāϰ⧠āϏāĻāĻā§āϝāĻžāϝā§āĻā§āϤ āĻāĻŦāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧ āϝāĻĻāĻŋ āϤāĻžāϰāĻž āĻāĻžāύā§āϞ⧠āĻĒā§āϰāĻŦā§āĻļ āĻāϰā§, āϏāĻāϝā§āĻāĻāĻŋ āĻā§āĻā§ āĻā§āĻā§ - āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϝā§āĻ āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻžāϰ āĻĒāϰā§, āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻāĻ āϏā§āĻļāύ⧠āϏāĻŽāϏā§āϤ āĻāĻŋāĻā§ āĻĒāĻžāĻ āĻžāĻŦā§ āϝāĻž āĻāĻāĻŋ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏāĻŽāϝāĻŧā§ āĻŦāĻŋāϤāϰāĻŖ āĻāϰā§āύāĻŋāĨ¤ TCP āϏāĻāϝā§āĻāĨ¤
āϝāĻžāĻāĻšā§āĻ, āĻāĻĒāϰā§āϰ āϤāĻĨā§āϝāĻā§āϞāĻŋ āĻ āύā§āĻ āĻŽāĻžāϏ āϤāĻĻāύā§āϤā§āϰ āĻĒāϰ⧠āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāϤāĻŋāĻŽāϧā§āϝā§, āĻāĻŽāϰāĻž āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāĻāĻŋ? - āĻļā§āϰā§āϤ⧠āĻĢāĻŋāϰ⧠āϝāĻžāĻāĨ¤
āϤāĻžāĻ āĻāϰ āĻā§āύāĻžāϰā§āĻ āĻāϰāĻž āϝāĻžāĻ auth_key āĻ . āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻŦā§āĻāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻž āϝāĻžāĻ...
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [19.06.18 20:05] data_with_hash := SHA1(data) + data + (āϝā§āĻā§āύ⧠āϰâā§āϝāĻžāύā§āĻĄāĻŽ āĻŦāĻžāĻāĻ); āϝāĻžāϤ⧠āĻĻā§āϰā§āĻā§āϝ 255 āĻŦāĻžāĻāĻ āϏāĻŽāĻžāύ āĻšāϝāĻŧ;
āĻāύāĻā§āϰāĻŋāĻĒā§āĻā§āĻĄ_āĻĄā§āĻāĻž := RSA(āĻĄā§āĻāĻž_āĻāϝāĻŧāĻžāĻāĻĨ_āĻšā§āϝāĻžāĻļ, āϏāĻžāϰā§āĻāĻžāϰ_āĻĒāĻžāĻŦāϞāĻŋāĻ_āĻāĻŋ); āĻāĻāĻāĻŋ 255-āĻŦāĻžāĻāĻ āĻĻā§āϰā§āĻ āϏāĻāĻā§āϝāĻž (āĻŦāĻĄāĻŧ āĻāύā§āĻĄāĻŋāϝāĻŧāĻžāύ) āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻŽāĻĄā§āϞāĻžāϏā§āϰ āĻāĻĒāϰ⧠āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻļāĻā§āϤāĻŋāϤ⧠āĻāϤā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ āĻĢāϞāĻžāĻĢāϞāĻāĻŋ 256-āĻŦāĻžāĻāĻ āϏāĻāĻā§āϝāĻž āĻšāĻŋāϏāĻžāĻŦā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤āϤāĻžāĻĻā§āϰ āĻāĻŋāĻā§ āĻĄā§āĻĒ DH āĻāĻā§
āĻāĻāĻāĻŋ āϏā§āϏā§āĻĨ āĻŦā§āϝāĻā§āϤāĻŋāϰ DH āĻŽāϤ āĻĻā§āĻāĻžāϝāĻŧ āύāĻž
dx-āĻ āĻā§āύ āĻĻā§āĻāĻŋ āĻĒāĻžāĻŦāϞāĻŋāĻ āĻā§ āύā§āĻ
āĻ āĻŋāĻ āĻāĻā§, āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āĻāĻāĻŋ āĻŦāĻžāĻāĻžāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāĻŋāύā§āϤ⧠āĻāĻāĻāĻŋ āĻ
āĻŦāĻļāĻŋāώā§āĻāĻžāĻāĻļ āϰāϝāĻŧā§ āĻā§āĻā§ - āĻāĻžāĻā§āϰ āĻĒā§āϰāĻŽāĻžāĻŖ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĻā§āĻŦāĻžāϰāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝ⧠āϤāĻŋāύāĻŋ āϏāĻāĻā§āϝāĻžāĻāĻŋ āĻĢā§āϝāĻžāĻā§āĻāϰ āĻāϰāϤ⧠āĻĒā§āϰā§āĻāĻŋāϞā§āύāĨ¤ DoS āĻāĻā§āϰāĻŽāĻŖā§āϰ āĻŦāĻŋāϰā§āĻĻā§āϧ⧠āϏā§āϰāĻā§āώāĻžāϰ āĻĒā§āϰāĻāĻžāϰāĨ¤ āĻāϰ RSA āĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻŦāĻžāϰ āĻāĻ āĻĻāĻŋāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ, āĻŽā§āϞāϤ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύā§āϰ āĻāύā§āϝ new_nonce. āĻāĻŋāύā§āϤ⧠āĻāĻ āĻāĻĒāĻžāϤāĻĻā§āώā§āĻāĻŋāϤ⧠āϏāĻšāĻ āĻ
āĻĒāĻžāϰā§āĻļāύ āϏāĻĢāϞ āĻšāĻŦā§, āĻāĻĒāύāĻŋ āĻāĻŋ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāϤ⧠āĻšāĻŦā§?
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [20.06.18/00/26 XNUMX:XNUMX] āĻāĻŽāĻŋ āĻāĻāύāĻ āĻ ā§āϝāĻžāĻĒāĻŋāĻĄā§āϰ āĻ āύā§āϰā§āϧ⧠āĻĒā§āĻāĻāĻžāĻāύāĻŋāĨ¤
āĻāĻŽāĻŋ āĻāĻ āĻ āύā§āϰā§āϧāĻāĻŋ āĻĄāĻŋāĻāĻāĻāĻā§ āĻĒāĻžāĻ āĻŋāϝāĻŧā§āĻāĻŋ
āĻāĻŦāĻ, āĻĒāϰāĻŋāĻŦāĻšāύ āĻĄāĻā§ āĻāĻāĻŋ āĻŦāϞ⧠āϝ⧠āĻāĻāĻŋ āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻā§āĻĄā§āϰ 4 āĻŦāĻžāĻāĻā§āϰ āϏāĻžāĻĨā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻžāύā§āĻ āĻļā§āώ
āĻāĻā§āĻāĻž, āϏ⧠āĻāĻŽāĻžāĻā§ āĻŦāϞāϞ -404, āϤāĻžāĻ āĻāĻŋ?
āϤāĻžāĻ āĻāĻŽāĻŋ āϤāĻžāĻā§ āĻŦāϞā§āĻāĻŋāϞāĻžāĻŽ: "āĻāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻā§āĻā§āϞā§āϰ āĻāĻžāĻĒ āϏāĻš āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āĻā§ āĻĻāĻŋāϝāĻŧā§ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻāĻĒāύāĻžāϰ āĻŦā§āϞāĻļāĻŋāĻ āϧāϰā§āύ, āĻāĻŽāĻŋ DH āĻāĻžāĻ," āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻāĻž 404 āĻĻāĻŋāϝāĻŧā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϝāĻŧ
āĻāĻĒāύāĻŋ āĻāĻ āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻŋ āĻŽāύ⧠āĻšāĻŦā§? āĻāĻŋ āĻāϰā§? āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰāĻžāϰ āĻā§āĻ āύā§āĻ (āϤāĻŦā§ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§ āĻāϰāĻ āĻŦā§āĻļāĻŋ)āĨ¤
āĻāĻāĻžāύ⧠āϏāĻŦ āϏā§āĻŦāĻžāϰā§āĻĨ āĻĄāĻ āĻāϰāĻž āĻšāϝāĻŧ
āĻāĻŽāĻžāϰ āĻāϰ āĻāĻŋāĻā§ āĻāϰāĻžāϰ āύā§āĻ, āĻāĻŽāĻŋ āĻļā§āϧ⧠āĻŦāĻžāϰāĻŦāĻžāϰ āϏāĻāĻā§āϝāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āϏā§āĻŦāĻĒā§āύ āĻĻā§āĻā§āĻāĻŋ
āĻĻā§āĻāĻŋ 32 āĻŦāĻŋāĻ āϏāĻāĻā§āϝāĻžāĨ¤ āĻāĻŽāĻŋ āĻ āύā§āϝ āϏāĻŦāĻžāϰ āĻŽāϤ āϤāĻžāĻĻā§āϰ āĻŦāϏā§āϤāĻžāĻŦāύā§āĻĻā§
āĻāĻŋāύā§āϤ⧠āύāĻž, āĻāĻ āĻĻā§āĻāĻŋ āϞāĻžāĻāύ⧠āĻĒā§āϰāĻĨāĻŽā§ BE āĻšāĻŋāϏā§āĻŦā§ āϝā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§
āĻāĻžāĻĻāĻŋāĻŽ āĻāύāĻāĻžāϰāĻ, [20.06.18/15/49 404:XNUMX] āĻāϰ āĻāĻ XNUMX āĻāϰ āĻāĻžāϰāĻŖā§?
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [⧍ā§Ļ.ā§Ļā§Ŧ.ā§§ā§Ž ā§§ā§Ģ:ā§Ē⧝] āĻšā§āϝāĻžāĻ!
āĻāĻžāĻĻāĻŋāĻŽ āĻāύāĻāĻžāϰāĻ, [20.06.18/15/50 XNUMX:XNUMX] āĻāĻŽāĻŋ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰāĻāĻŋ āύāĻž āϝ⧠āϏ⧠āĻā§ "āĻĒāĻžā§āύāĻŋ"
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [20.06.18 15:50] āĻĒā§āϰāĻžāϝāĻŧ
āĻāĻŽāĻŋ āĻĒā§āϰāĻžāĻāĻŽ āĻĢā§āϝāĻžāĻā§āĻāϰ% āĻ āĻāϰāĻāĻŽ āĻĒāĻāύ āĻā§āĻāĻā§ āĻĒāĻžāĻāύāĻŋ)
āĻāĻŽāύāĻāĻŋ āĻāĻŽāϰāĻž āϤā§āϰā§āĻāĻŋ āϰāĻŋāĻĒā§āϰā§āĻāĻŋāĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻŋāύāĻŋ
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [20.06.18/20/18 5:XNUMX] āĻāĻš, MDXNUMXāĻ āĻāĻā§āĨ¤ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āϤāĻŋāύāĻāĻŋ āĻāĻŋāύā§āύ āĻšā§āϝāĻžāĻļ āĻāĻā§āĨ¤
āĻā§ āĻĢāĻŋāĻā§āĻāĻžāϰāĻĒā§āϰāĻŋāύā§āĻ āύāĻŋāĻŽā§āύāϰā§āĻĒ āĻāĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧ:
digest = md5(key + iv) fingerprint = substr(digest, 0, 4) XOR substr(digest, 4, 4)SHA1 āĻāĻŦāĻ sha2
āϤāĻžāĻ āĻāĻāĻž āĻāϰāĻž āϝāĻžāĻ auth_key āĻāĻŽāϰāĻž āĻĄāĻŋāĻĢāĻŋ-āĻšā§āϞāĻŽā§āϝāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻžāϰ⧠2048 āĻŦāĻŋāĻ āĻĒā§āϝāĻŧā§āĻāĻŋāĨ¤ āĻāϰāĻĒāϰ āĻāĻŋ? āĻāϰāĻĒāϰ⧠āĻāĻŽāϰāĻž āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰāĻŋ āϝ⧠āĻāĻ āĻā§āĻāĻŋāϰ āύā§āĻā§āϰ 1024 āĻŦāĻŋāĻāĻā§āϞāĻŋ āĻā§āύāĻ āĻāĻžāĻŦā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž... āϤāĻŦā§ āĻāĻĒāĻžāϤāϤ āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāύā§āϤāĻž āĻāϰāĻž āϝāĻžāĻāĨ¤ āĻāĻ āϧāĻžāĻĒā§, āĻāĻŽāĻžāĻĻā§āϰ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻāĻžāĻ āĻāϰāĻž āĻā§āĻĒāύ āĻāĻā§āĨ¤ āĻāĻŋāĻāϞāĻāϏ āϏā§āĻļāύā§āϰ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāύāĻžāϞāĻ āĻĒā§āϰāϤāĻŋāώā§āĻ āĻŋāϤ āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻāĻāĻŋ āĻ
āϤā§āϝāύā§āϤ āĻŦā§āϝāϝāĻŧāĻŦāĻšā§āϞ āĻĒāĻĻā§āϧāϤāĻŋāĨ¤ āĻāĻŋāύā§āϤ⧠āϏāĻžāϰā§āĻāĻžāϰ āĻāĻāύāĻ āĻāĻŋāĻā§ āĻāĻžāύ⧠āύāĻž āĻāĻŽāϰāĻž āĻā§! āĻāĻāύāĻ āύāĻž, āĻāϏāϞā§. āĻ
āύā§āĻŽā§āĻĻāύ. āϏā§āĻā§āϞā§. āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ "āϞāĻāĻāύ-āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ" āĻāϰ āĻĒāϰāĻŋāĻĒā§āϰā§āĻā§āώāĻŋāϤ⧠āĻāĻŋāύā§āϤāĻž āĻāϰā§āύ, āϝā§āĻŽāύāĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻāĻŦāĻžāϰ ICQ āϤ⧠āĻāϰā§āĻāĻŋāϞā§āύ, āĻŦāĻž āĻāĻŽāĻĒāĻā§āώ⧠"āϞāĻāĻāύ-āĻāĻŋ", āϝā§āĻŽāύ SSH-āĻ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻŋāĻā§ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ/āĻāĻŋāĻĨā§āĻŦā§)āĨ¤ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻŦā§āύāĻžāĻŽā§ āĻĒā§āϝāĻŧā§āĻāĻŋāϞāĻžāĻŽ. āϝāĻĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āĻāĻŽāĻžāĻĻā§āϰ āĻŦāϞ⧠"āĻāĻ āĻĢā§āύ āύāĻŽā§āĻŦāϰāĻā§āϞāĻŋ āĻ
āύā§āϝ DC āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāώā§āĻŦāĻž āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ"? āĻ
āĻĨāĻŦāĻž āĻāĻŽāύāĻāĻŋ "āĻāĻĒāύāĻžāϰ āĻĢā§āύ āύāĻŽā§āĻŦāϰ āύāĻŋāώāĻŋāĻĻā§āϧ"? āĻāĻŽāϰāĻž āϝāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ āϤāĻž āĻšāϞ āĻāĻžāĻŦāĻŋāĻāĻŋ āĻāĻ āĻāĻļāĻžāϝāĻŧ āϰāĻžāĻāĻž āϝ⧠āĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻšāĻŦā§ āĻāĻŦāĻ āϤāϤāĻā§āώāĻŖā§ āĻĒāĻā§ āϝāĻžāĻŦā§ āύāĻžāĨ¤
āϝāĻžāĻāĻšā§āĻ, āĻāĻŽāϰāĻž āĻāĻāĻŋ āϏāĻāϰāĻā§āώāĻŖā§āϰ āϏāĻžāĻĨā§ "āĻĒā§āϰāĻžāĻĒā§āϤ" āĻāϰā§āĻāĻŋāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻŽāϰāĻž āĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāĻŋ? āĻāĻāĻž āĻāĻžāϞ āĻšāϞ⧠āĻāĻŋ āĻšāĻŦā§? āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāĻ āĻā§āĻ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§:
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [21.06.18/17/53 2:XNUMX] āϤāĻžāϰāĻž āĻŽā§āĻŦāĻžāĻāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ XNUMXkbit āύāĻŽā§āĻŦāϰāĻā§āϞāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻāϤāĻžāϰ āĻāύā§āϝ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§āϝāĻŧ %)
āĻāĻŋāύā§āϤ⧠āĻāĻāĻž āĻŽā§āĻā§āĻ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āύāϝāĻŧ, āύāĻžāĻĢā§āĻāĻā§āϝāĻŧāĻž
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [21.06.18/18/02 XNUMX:XNUMX] āϝāĻĻāĻŋ āĻāĻāĻŋ āϏāĻšāĻ āύāĻž āĻšāϝāĻŧ āϤāĻŦā§ āĻā§ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āĻĄāĻžāĻā§āϤāĻžāϰ āĻŦāϞā§āύ āύāĻžāĨ¤
āĻŦāϞāĻž āĻšāϝāĻŧāύāĻŋāĨ¤ āĻāϞā§āύ āĻĻā§āĻā§ āύā§āĻāϝāĻŧāĻž āϝāĻžāĻ āĻ āĻā§āώā§āϤā§āϰ⧠āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻā§ āĻāϰā§āύ? āĻ (āĻāĻŦāĻ āĻšā§āϝāĻžāĻ, āĻĒā§āϰ⧠āĻĢāĻžāĻāϞāĻāĻŋ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ) - āϝā§āĻŽāύ āϤāĻžāϰāĻž āĻŦāϞā§, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻāĻāĻžāύ⧠āϰā§āĻā§ āĻĻā§āĻŦ:
278 static const char *goodPrime = "c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b";
279 if (!strcasecmp(prime, goodPrime)) {āύāĻž, āĻ āĻŦāĻļā§āϝāĻ āĻāĻāĻž āĻāĻāύāĻ āĻāĻā§ āĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻžāϰ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻāϤāĻžāϰ āĻāύā§āϝ āĻĒāϰā§āĻā§āώāĻž āĻāĻā§, āĻāĻŋāύā§āϤ⧠āĻŦā§āϝāĻā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§ āĻāĻŽāĻžāϰ āĻāϰ āĻāĻŖāĻŋāϤā§āϰ āĻĒāϰā§āϝāĻžāĻĒā§āϤ āĻā§āĻāĻžāύ āύā§āĻāĨ¤
āĻ āĻŋāĻ āĻāĻā§, āĻāĻŽāϰāĻž āĻŽāĻžāϏā§āĻāĻžāϰ āĻā§ āĻĒā§āϝāĻŧā§āĻāĻŋāĨ¤ āϞāĻ āĻāύ āĻāϰāϤā§, i.e. āĻ āύā§āϰā§āϧ āĻĒāĻžāĻ āĻžāύ, āĻāĻĒāύāĻžāĻā§ AES āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϰāĻ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻŦāĻžāϰā§āϤāĻž āĻā§āĻāĻŋāĻā§ āĻŦāĻžāϰā§āϤāĻžāϰ āĻŽā§āϞ āĻ āĻāĻļā§āϰ SHA128 āĻāϰ 256āĻāĻŋ āĻŽāϧā§āϝāĻŽ āĻŦāĻŋāĻ āĻšāĻŋāϏāĻžāĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ (āϏā§āĻļāύ, āĻŦāĻžāϰā§āϤāĻž āĻāĻāĻĄāĻŋ, āĻāϤā§āϝāĻžāĻĻāĻŋ āϏāĻš), āĻĒā§āϝāĻžāĻĄāĻŋāĻ āĻŦāĻžāĻāĻ āϏāĻš, āĻ āύā§āĻŽā§āĻĻāύ āĻā§ āĻĨā§āĻā§ āύā§āĻāϝāĻŧāĻž 32 āĻŦāĻžāĻāĻ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻŋāĻĒā§āύā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [22.06.18/14/08 XNUMX:XNUMX] āĻāĻĄāĻŧāĻĒāĻĄāĻŧāϤāĻž, āĻĻā§āĻļā§āĻāϰāĻŋāϤā§āϰāĻž, āĻŽāĻžāϰāϧāϰ
āĻā§āĻšā§āϤ
auth_key. āϏāĻŦ āϤāĻžāĻĻā§āϰ āĻŦāĻžāĻāϰā§... āĻāĻāĻŋ āύāĻĨāĻŋ āĻĨā§āĻā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āύāϝāĻŧāĨ¤ āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻā§āĻĄ āĻ āϧā§āϝāϝāĻŧāύ āύāĻŋāϰā§āĻĻā§āĻŦāĻŋāϧāĻžāϝāĻŧ.āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠MTProto 2.0-āĻāϰ āĻāύā§āϝ 12 āĻĨā§āĻā§ 1024 āĻŦāĻžāĻāĻ āĻĒā§āϝāĻžāĻĄāĻŋāĻ āĻĒā§āϰāϝāĻŧā§āĻāύ, āĻāĻāύāĻ āĻļāϰā§āϤ āϏāĻžāĻĒā§āĻā§āώ⧠āϝ⧠āĻĢāϞāĻžāĻĢāϞ āĻŦāĻžāϰā§āϤāĻžāϰ āĻĻā§āϰā§āĻā§āϝ 16 āĻŦāĻžāĻāĻ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻāĻžāĻā§āϝ āĻšāĻŦā§āĨ¤
āϤāĻžāĻ āĻāĻĒāύāĻŋ āĻāϤ āĻĒā§āϝāĻžāĻĄāĻŋāĻ āϝā§āĻ āĻāϰāĻž āĻāĻāĻŋāϤ?
āĻāĻŦāĻ āĻšā§āϝāĻžāĻ, āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋāϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻāĻŋ 404 āĻāĻā§
āĻā§āĻ āϝāĻĻāĻŋ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύā§āϰ āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽ āĻāĻŦāĻ āĻĒāĻžāĻ ā§āϝāĻāĻŋ āϏāĻžāĻŦāϧāĻžāύ⧠āĻ āϧā§āϝāϝāĻŧāύ āĻāϰā§, āϤāĻžāϰāĻž āϞāĻā§āώā§āϝ āĻāϰā§āĻā§ āϝ⧠āϏā§āĻāĻžāύ⧠āĻā§āύāĻ MAC āύā§āĻāĨ¤ āĻāĻŦāĻ āϏā§āĻ AES āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ IGE āĻŽā§āĻĄā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ āϝāĻž āĻ āύā§āϝ āĻā§āĻĨāĻžāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āύāĻžāĨ¤ āϤāĻžāϰāĻž, āĻ āĻŦāĻļā§āϝāĻ, āϤāĻžāĻĻā§āϰ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻŋāĻā§āĻāĻžāϏāĻŋāϤ āĻĒā§āϰāĻļā§āύāĻĒāϤā§āϰ⧠āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āϞā§āĻā§āύ... āĻāĻāĻžāύā§, āϝā§āĻŽāύ, āĻŦāĻžāϰā§āϤāĻž āĻā§ āύāĻŋāĻā§āĻ āĻĄāĻŋāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻĄā§āĻāĻžāϰ SHA āĻšā§āϝāĻžāĻļ, āϝāĻž āĻ āĻāĻŖā§āĻĄāϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ - āĻāĻŦāĻ āĻ āĻŽāĻŋāϞā§āϰ āĻā§āώā§āϤā§āϰā§, āĻā§āύ⧠āĻāĻžāϰāĻŖā§ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āύāĻŋāĻāĻļāĻŦā§āĻĻā§ āϤāĻžāĻĻā§āϰ āĻāĻĒā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§āϝāĻŧ (āĻāĻŋāύā§āϤ⧠āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋ, āϤāĻžāϰāĻž āϝāĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āĻā§ āĻĻā§āϝāĻŧ?)
āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻžāϰ āύāĻ, āϏāĻŽā§āĻāĻŦāϤ āĻāĻāĻāĻŋ āϤāĻžāϤā§āϤā§āĻŦāĻŋāĻ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻāĻ āĻŽā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻāĻŋāĻā§ āĻā§āϞ āύā§āĻāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻŋ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āϏāĻŽāϏā§āϝāĻžāϰ āύāĻžāĻŽ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰāĻŋ, āĻāĻĻāĻžāĻšāϰāĻŖ āĻšāĻŋāϏā§āĻŦā§ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻāĻŋ āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻā§āϝāĻžāĻļā§ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰ⧠(āĻāĻ āϏāĻŽāϏā§āϤ D877F783D5D3EF8C) MTProto-āĻāϰ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻŽāϤā§āĻ (āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻ āĻā§āώā§āϤā§āϰ⧠āϏāĻāϏā§āĻāϰāĻŖ 1.0), āϝā§āĻŽāύ āĻĒā§āϰāĻĨāĻŽā§ āĻŽā§āϏā§āĻ āĻā§, āϤāĻžāϰāĻĒāϰ āĻĄāĻžāĻāĻž āύāĻŋāĻā§āĻ (āĻāĻŦāĻ āĻā§āĻĨāĻžāĻ āĻĒā§āϰāϧāĻžāύ āĻŦāĻĄāĻŧ auth_key 256 āĻŦāĻžāĻāĻ, āϝāĻž āĻāĻžāĻĄāĻŧāĻž msg_key āĻ
āĻā§āĻā§)āĨ¤ āϏā§āϤāϰāĻžāĻ, āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻŦāĻĄāĻŧ āĻĢāĻžāĻāϞāĻā§āϞāĻŋāϤ⧠āϞāĻā§āώāĻŖā§āϝāĻŧ āĻšāϝāĻŧā§ āĻāĻ ā§āĨ¤ āϝāĻĨāĻž, āĻāĻĒāύāĻžāĻā§ āĻĄā§āĻāĻžāϰ āĻĻā§āĻāĻŋ āĻāĻĒāĻŋ āϰāĻžāĻāϤ⧠āĻšāĻŦā§ - āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻāĻŦāĻ āĻĄāĻŋāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻžāĨ¤ āĻāĻŦāĻ āϝāĻĻāĻŋ āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ, āĻŦāĻž āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ āĻāĻŋāĻĄāĻŋāĻ āĻĨāĻžāĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ?... āϏāĻžāĻāĻĢāĻžāϰāĻā§āĻā§āϏāĻ āĻĒāϰ⧠MAC āϏāĻš āĻā§āϞāĻžāϏāĻŋāĻ āϏā§āĻāĻŋāĻŽāĻā§āϞāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ āĻĒāĻĄāĻŧāϤ⧠āĻĻā§āϝāĻŧ, āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻāĻŋ āĻĒā§āϰā§āϰāĻŖ āĻāϰā§āĨ¤ āĻāĻŋāύā§āϤ⧠MTProto āĻāϰ āϏāĻžāĻĨā§ āĻāĻĒāύāĻžāĻā§ āĻāϰāϤ⧠āĻšāĻŦā§ āĻĒā§āϰāĻĨāĻŽā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻŦāĻž āĻĄāĻŋāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰā§āύ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϤāĻžāϰāĻĒāϰ āĻāĻāĻŋ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻŦāĻž āĻĄāĻŋāϏā§āĻā§ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ āĻāϰā§āύāĨ¤ āϤāĻžāĻ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒā§āϰ āϏāϰā§āĻŦāĻļā§āώ āϏāĻāϏā§āĻāϰāĻŖā§ āĻā§āϝāĻžāĻļā§ āĻāύ user_data CTR āĻŽā§āĻĄā§ AES āϏāĻš āĻ
āύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāύā§āϝāĻžāϏāĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [⧍⧧.ā§Ļā§Ŧ.ā§§ā§Ž ā§Ļā§§:⧍ā§] āĻāĻš, āĻāĻŽāĻŋ āĻāĻžāύāϤ⧠āĻĒā§āϰā§āĻāĻŋ IGE āĻā§: IGE āĻāĻŋāϞ "āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ āĻŽā§āĻĄ"-āĻāϰ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāĻā§āώā§āĻāĻž, āϝāĻž āĻŽā§āϞāϤ Kerberos-āĻāϰ āĻāύā§āϝ āĻāĻŋāϞāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āϝāϰā§āĻĨ āĻĒā§āϰāĻā§āώā§āĻāĻž āĻāĻŋāϞ (āĻāĻāĻŋ āĻ āĻāĻŖā§āĻĄāϤāĻž āϏā§āϰāĻā§āώāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰ⧠āύāĻž), āĻāĻŦāĻ āĻāĻāĻŋ āĻ āĻĒāϏāĻžāϰāĻŖ āĻāϰāϤ⧠āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻāĻāĻŋ āĻāĻŋāϞ āĻāĻžāϰā§āϝāĻāϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ āĻŽā§āĻĄā§āϰ āĻāύā§āϝ ⧍ā§Ļ āĻŦāĻāϰā§āϰ āĻ āύā§āϏāύā§āϧāĻžāύā§āϰ āĻļā§āϰā§, āϝāĻž āϏāĻŽā§āĻĒā§āϰāϤāĻŋ OCB āĻāĻŦāĻ GCM-āĻāϰ āĻŽāϤ⧠āĻŽā§āĻĄā§ āĻĒāϰāĻŋāĻŖāϤ āĻšāϝāĻŧā§āĻā§āĨ¤
āĻāĻŦāĻ āĻāĻāύ āĻāĻžāϰā§āĻ āĻĒāĻžāĻļ āĻĨā§āĻā§ āĻāϰā§āĻā§āĻŽā§āύā§āĻ:
āύāĻŋāĻā§āϞāĻžāĻ āĻĻā§āϰāĻā§āϰ āύā§āϤā§āϤā§āĻŦā§ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āĻĒāĻŋāĻāύā§āϰ āĻĻāϞāĻāĻŋāϤ⧠āĻāϝāĻŧāĻāύ āĻāϏāĻŋāĻāĻŽ āĻā§āϝāĻžāĻŽā§āĻĒāĻŋāϝāĻŧāύ āϰāϝāĻŧā§āĻā§, āϝāĻžāĻĻā§āϰ āĻ āϰā§āϧā§āĻ āĻāĻŖāĻŋāϤ⧠āĻĒāĻŋāĻāĻāĻāĻĄāĻŋāĨ¤ āĻāĻŽāĻāĻŋāĻĒā§āϰā§āĻā§āϰ āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻāϏā§āĻāϰāĻŖāĻāĻŋ āĻāĻžāϞ⧠āĻāϰāϤ⧠āϤāĻžāĻĻā§āϰ āĻĒā§āϰāĻžāϝāĻŧ āĻĻā§āĻ āĻŦāĻāϰ āϏāĻŽāϝāĻŧ āϞā§āĻā§āĻā§āĨ¤
āĻāĻāĻž āĻŽāĻāĻžāϰ. āύāĻŋāĻŽā§āύ āϏā§āϤāϰ⧠āĻĻā§āĻ āĻŦāĻāϰ
āĻ āĻĨāĻŦāĻž āĻāĻĒāύāĻŋ āĻļā§āϧ⧠tls āύāĻŋāϤ⧠āĻĒāĻžāϰā§āύ
āĻ āĻŋāĻ āĻāĻā§, āϧāϰāĻž āϝāĻžāĻ āĻāĻŽāϰāĻž āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āϏā§āĻā§āώā§āĻŽāϤāĻž āϏāĻŽā§āĻĒāύā§āύ āĻāϰā§āĻāĻŋāĨ¤ TL āϤ⧠āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻž āĻ āύā§āϰā§āϧāĻā§āϞāĻŋ āĻĒāĻžāĻ āĻžāύ⧠āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāĻā§ āĻĄāĻŋāϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻž āĻāĻŋ āĻ āĻŦāĻļā§āώ⧠āϏāĻŽā§āĻāĻŦ? āϤāĻžāĻ āĻāĻŋ āĻāĻŦāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĒāύāĻŋ āĻĒāĻžāĻ āĻžāϤ⧠āĻšāĻŦā§? āĻāĻāĻžāύā§, āĻĒāĻĻā§āϧāϤāĻŋāĻāĻŋ āĻŦāϞāĻŋ , āϏāĻŽā§āĻāĻŦāϤ āĻāĻ āĻāĻāĻž?
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [25.06.18 18:46] āϏāĻāϝā§āĻ āĻļā§āϰ⧠āĻāϰ⧠āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻĄāĻŋāĻāĻžāĻāϏ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ⧠āϤāĻĨā§āϝ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āĨ¤
āĻāĻāĻŋ app_id, device_model, system_version, app_version āĻāĻŦāĻ lang_code āĻā§āϰāĻšāĻŖ āĻāϰā§āĨ¤
āĻāĻŦāĻ āĻāĻŋāĻā§ āĻĒā§āϰāĻļā§āύ
āĻŦāϰāĻžāĻŦāϰā§āϰ āĻŽāϤ⧠āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύāĨ¤ āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻ āϧā§āϝāϝāĻŧāύ āύāĻŋāϰā§āĻĻā§āĻŦāĻŋāϧāĻžāϝāĻŧ
invokeWithLayer āĻāϰ āϏāĻžāĻĨā§ āϝāĻĻāĻŋ āϏāĻŦāĻāĻŋāĻā§ āĻĒā§āϰāĻžāϝāĻŧ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠āĻāĻāĻžāύ⧠āĻāĻŋ āĻā§āϞ? āĻĻā§āĻāĻž āϝāĻžāĻā§āĻā§, āϧāϰāĻž āϝāĻžāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āĻāĻā§ - āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āϏāĻžāϰā§āĻāĻžāϰāĻā§ āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰāĻžāϰ āĻāĻŋāĻā§ āĻāĻŋāϞ - āĻāĻāĻāĻŋ āĻ āύā§āϰā§āϧ āϰāϝāĻŧā§āĻā§ āϝāĻž āĻāĻŽāϰāĻž āĻĒāĻžāĻ āĻžāϤ⧠āĻā§āϝāĻŧā§āĻāĻŋāϞāĻžāĻŽ:
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [25.06.18/19/13 XNUMX:XNUMX] āĻā§āĻĄ āĻ āύā§āϏāĻžāϰā§, āĻĒā§āϰāĻĨāĻŽ āĻāϞāĻāĻŋ āĻāĻ āĻŦāĻžāĻā§ āĻāĻĨāĻž āĻĻāĻŋāϝāĻŧā§ āĻŽā§āĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧ, āĻāĻŦāĻ āĻŦāĻžāĻā§ āĻāĻĨāĻžāĻāĻŋ āύāĻŋāĻā§āĻ invokewithlayer āĻĻāĻŋāϝāĻŧā§ āĻŽā§āĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧ
āĻā§āύ initConnection āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāϞ āĻšāϤ⧠āĻĒāĻžāϰ⧠āύāĻž, āĻāĻŋāύā§āϤ⧠āĻāĻāĻāĻŋ āĻŽā§āĻĄāĻŧāĻ āĻšāϤ⧠āĻšāĻŦā§? āĻšā§āϝāĻžāĻ, āϝā§āĻŽāύāĻāĻŋ āĻĻā§āĻāĻž āĻā§āĻā§, āĻāĻāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏā§āĻļāύā§āϰ āĻļā§āϰā§āϤ⧠āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ āĻāϰāĻž āĻāĻāĻŋāϤ, āĻāĻŦāĻ āĻāĻāĻŦāĻžāϰ āύāϝāĻŧ, āĻĒā§āϰāϧāĻžāύ āĻā§āĻāĻŋāϰ āĻŽāϤā§āĨ¤ āĻāĻŋāύā§āϤā§! āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āύāύā§āĻŽā§āĻĻāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻĻā§āĻŦāĻžāϰāĻž āĻāϞ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻž! āĻāĻāύ āĻāĻŽāϰāĻž āϏā§āĻ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āĻĒā§āĻāĻā§āĻāĻŋ āϝā§āĻāĻžāύ⧠āĻāĻāĻŋ āĻĒā§āϰāϝā§āĻā§āϝ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒā§āώā§āĻ āĻž - āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻŦāϞ⧠āϝ⧠...
API āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻā§āĻ āĻ āĻāĻļ āĻ āύāύā§āĻŽā§āĻĻāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāύā§āϝ āĻāĻĒāϞāĻŦā§āϧ:
- auth.sendCode
- auth.resendCode
- account.getPassword
- auth.checkPassword
- auth.checkPhone
- auth.signUp
- auth.signIn
- auth.importAuthorization
- help.getConfig
- help.getNearestDc
- help.getAppUpdate
- help.getCdnConfig
- langpack.getLangPack
- langpack.getStrings
- langpack.getDifference
- langpack.getLanguages
- langpack.getLanguage
āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻĒā§āϰāĻĨāĻŽāĻāĻŋ, auth.sendCode, āĻāĻŦāĻ āϏā§āĻ āϞāĻžāϞāĻŋāϤ āĻĒā§āϰāĻĨāĻŽ āĻ
āύā§āϰā§āϧ⧠āĻāĻŽāϰāĻž api_id āĻāĻŦāĻ api_hash āĻĒāĻžāĻ āĻžāĻ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻā§āĻĄ āϏāĻš āĻāĻāĻāĻŋ SMS āĻĒāĻžāĻāĨ¤ āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āĻā§āϞ āĻĄāĻŋāϏāĻŋāϤ⧠āĻĨāĻžāĻāĻŋ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻ āĻĻā§āĻļā§ āĻā§āϞāĻŋāĻĢā§āύ āύāĻŽā§āĻŦāϰāĻā§āϞāĻŋ āĻ
āύā§āϝ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāĻŦā§āĻļāĻŋāϤ āĻšāϝāĻŧ), āϤāĻŦā§ āĻāĻŽāϰāĻž āĻĒāĻāύā§āĻĻāϏāĻ āĻĄāĻŋāϏāĻŋāϰ āύāĻŽā§āĻŦāϰ āϏāĻš āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻĒāĻžāĻŦāĨ¤ āĻĄāĻŋāϏāĻŋ āύāĻŽā§āĻŦāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻā§āύ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāύāĻžāϝāĻŧ āĻāĻĒāύāĻžāĻā§ āϏāĻāϝā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāϤā§, āĻāĻŽāĻžāĻĻā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§āύ help.getConfig. āĻāĻ āϏāĻŽāϝāĻŧā§ āĻŽāĻžāϤā§āϰ 5āĻāĻŋ āĻāύā§āĻā§āϰāĻŋ āĻāĻŋāϞ, āĻāĻŋāύā§āϤ⧠2018 āϏāĻžāϞā§āϰ āĻŦāĻŋāĻā§āϝāĻžāϤ āĻāĻā§āύā§āĻāĻā§āϞāĻŋāϰ āĻĒāϰā§, āϏāĻāĻā§āϝāĻžāĻāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻŦā§āĻĻā§āϧāĻŋ āĻĒā§āϝāĻŧā§āĻā§āĨ¤
āĻāĻāύ āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āĻāĻŽāϰāĻž āĻŦā§āύāĻžāĻŽā§ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āĻāϏā§āĻāĻŋāĨ¤ āĻļā§āϧ⧠āĻāĻāĻāĻŋ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāύāĻž āĻĒā§āϤ⧠āĻāĻāĻŋ āĻā§āĻŦ āĻŦā§āϝāϝāĻŧāĻŦāĻšā§āϞ āύāϝāĻŧ? āĻāĻŽāĻāĻŋāĻĒā§āϰā§āĻā§āϰ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻ āĻāĻļā§ āĻā§āύ āĻāĻāĻŋ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻā§āϰāĻŋāϝāĻŧāĻžāĻāϞāĻžāĻĒāĻā§āϞāĻŋ āĻāϰāĻŦā§āύ āύāĻž? āĻāĻŽāĻŋ āĻāĻĒāϤā§āϤāĻŋ āĻļā§āύāĻāĻŋ: "āĻāĻŽāϰāĻž āĻā§āĻāĻžāĻŦā§ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻŦ āϝ⧠āĻāĻāĻŋ āĻāϰāĻā§āĻāύ āύāϝāĻŧ āϝ⧠āĻŽāĻŋāĻĨā§āϝāĻž āĻ āĻŋāĻāĻžāύāĻž āĻĻāĻŋāϝāĻŧā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāĻŦā§?" āĻāĻ āĻāĻŽāϰāĻž āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝā§, āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§, āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ RSA āĻā§ āĻāĻŽāĻŦā§āĻĄ āĻāϰāĻž āĻāĻā§, āĻ āϰā§āĻĨāĻžā§ āϤā§āĻŽāĻŋ āĻāĻŋ āĻļā§āϧ⧠āĻāĻŋāĻšā§āύ āĻāĻ āϤāĻĨā§āϝ. āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, āĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻŦāĻžāĻāĻĒāĻžāϏ āĻŦā§āϞāĻāĻŋāĻ āϏāĻāĻā§āϰāĻžāύā§āϤ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ āĻāϰāĻž āĻšāĻā§āĻā§ āϝāĻž āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž āĻ āύā§āϝāĻžāύā§āϝ āĻā§āϝāĻžāύā§āϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻā§āϰāĻšāĻŖ āĻāϰ⧠(āϝā§āĻā§āϤāĻŋāĻāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻāĻŽāĻāĻŋāĻĒā§āϰā§āĻā§āϤ⧠āĻāϰāĻž āϝāĻžāϝāĻŧ āύāĻž; āĻāĻĒāύāĻžāĻā§ āĻā§āĻĨāĻžāϝāĻŧ āϏāĻāϝā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻžāĻ āĻāĻžāύāϤ⧠āĻšāĻŦā§)āĨ¤
āĻ āĻŋāĻ āĻāĻā§. āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻ āύā§āĻŽā§āĻĻāύā§āϰ āĻāĻ āĻĒāϰā§āϝāĻžāϝāĻŧā§, āĻāĻŽāϰāĻž āĻāĻāύāĻ āĻ āύā§āĻŽā§āĻĻāĻŋāϤ āύāĻ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŦā§āĻĻāύ āύāĻŋāĻŦāύā§āϧāύ āĻāϰāĻŋāύāĻŋāĨ¤ āĻāĻŽāϰāĻž āĻāĻāύ āĻĻā§āĻāϤ⧠āĻāĻžāĻ āϝ⧠āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻ āύāύā§āĻŽā§āĻĻāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻāĻĒāϞāĻŦā§āϧ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠āĻā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϝāĻŧ⧎ āĻāĻŦāĻ āĻāĻāĻžāύā§âĻ
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [10.07.18 14:45]
config#7dae33e0 [...] = Config; help.getConfig#c4f9186b = Config;config#232d5905 [...] = Config; help.getConfig#c4f9186b = Config;āϏā§āĻāĻŋāĻŽā§, āĻĒā§āϰāĻĨāĻŽ āĻāϏ⧠āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ
tdesktop āϏā§āĻāĻŋāĻŽāĻžāϝāĻŧ āϤā§āϤā§āϝāĻŧ āĻŽāĻžāύ āĻšāϞ
āĻšā§āϝāĻžāĻ, āϤāĻžāϰāĻĒāϰ āĻĨā§āĻā§, āĻ āĻŦāĻļā§āϝāĻ, āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āϝāĻĻāĻŋāĻ āĻ āĻāĻŋāϰā§āĻ āĻāĻŦāĻžāϰ āĻ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ āĻšāϝāĻŧā§ āĻāĻ āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāύ āύāĻŦā§āύ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāύāĻž āĻāĻāĻŋāϤ? āĻšāϝāĻŧāϤ⧠āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻŦā§āĻĻāύ āύāĻŋāĻŦāύā§āϧāύ āĻāϰā§āύ, āϤāĻžāϰāĻž āĻāĻĒāύāĻžāĻā§ āĻāĻžāύāĻžāĻŦā§? āĻā§āϝāĻžāϏāĻŋāϞāĻŋ āĻāĻāĻŋ āĻāϰā§āĻāĻŋāϞā§āύ, āϤāĻŦā§ āĻšāĻžāϝāĻŧ, āϤāĻžāϰāĻž āϤāĻžāĻā§ āĻāĻŋāĻā§ āĻĒāĻžāĻ āĻžāϝāĻŧāύāĻŋ (āĻāĻŦāĻžāϰ, āĻāĻŽāϰāĻž āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§ āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĨāĻž āĻŦāϞāĻŦ)āĨ¤
...āĻāĻĒāύāĻŋ āϞāĻā§āώā§āϝ āĻāϰā§āĻā§āύ āϝ⧠āĻāĻŽāϰāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāĻāϰāĻāĻŽ API-āĻ āĻāϞ⧠āĻāϏā§āĻāĻŋ, āϝā§āĻŽāύ āĻĒāϰāĻŦāϰā§āϤ⧠āϏā§āϤāϰā§, āĻāĻŦāĻ MTProto āĻŦāĻŋāώāϝāĻŧā§ āĻāĻŋāĻā§ āĻŽāĻŋāϏ āĻāϰā§āĻā§āύ? āĻāĻāϰā§āώāĻŖ āύā§āĻ:
āĻā§āϝāĻžāϏāĻŋāϞāĻŋ, [28.06.18/02/04 2:XNUMX] āĻšā§āĻŽ, āϤāĻžāϰāĻž eXNUMXe āϤ⧠āĻāĻŋāĻā§ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻļā§āϝāĻŧāĻžāϰ āĻāϰāĻā§āĨ¤
Mtproto āĻāĻāϝāĻŧ āĻĄā§āĻŽā§āύā§āϰ āĻāύā§āϝ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻāĻŦāĻ āĻā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰā§, āϏā§āĻāϏāĻžāĻĨā§ āĻāĻŋāĻā§āĻāĻž āĻŽā§āĻĄāĻŧāĻ āĻāĻ āύ
āĻāĻŋāύā§āϤ⧠āϤāĻžāϰāĻž āĻā§āϰāĻŽāĻžāĻāϤ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻŦāĻŋāĻāĻŋāύā§āύ āϏā§āϤāϰ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻāϰā§, āϤāĻžāĻ mtproto āĻā§āĻĨāĻžāϝāĻŧ āĻļā§āώ āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāϰāĻŦāϰā§āϤ⧠āϏā§āϤāϰ āĻļā§āϰ⧠āĻšāϝāĻŧā§āĻā§ āϤāĻž āϏāϰā§āĻŦāĻĻāĻž āĻĒāϰāĻŋāώā§āĻāĻžāϰ āύāϝāĻŧ
āϤāĻžāϰāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻŽāĻŋāĻļā§āϰāĻŋāϤ? āĻ āĻŋāĻ āĻāĻā§, āĻāĻāĻžāύ⧠PFS-āĻāϰ āĻāύā§āϝ āĻāĻāĻ āĻ
āϏā§āĻĨāĻžāϝāĻŧā§ āĻā§ āϰāϝāĻŧā§āĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ (āĻĒā§āϰāϏāĻā§āĻāĻā§āϰāĻŽā§, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ āĻāĻāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻž)āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ API āĻ
āύā§āϰā§āϧ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻž āĻšāϝāĻŧ auth.bindTempAuthKey, āĻ
āϰā§āĻĨāĻžā§ āĻāĻĒāϰā§āϰ āϏā§āϤāϰ āĻĨā§āĻā§āĨ¤ āϤāĻŦā§ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻāĻāĻŋ āύāĻŋāĻŽā§āύ āϏā§āϤāϰ⧠āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ⧠āĻšāϏā§āϤāĻā§āώā§āĻĒ āĻāϰ⧠- āĻāϰ āĻĒāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āĻāĻŦāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ initConnection āĻāϤā§āϝāĻžāĻĻāĻŋ, āĻāĻāĻž āύāĻž āĻŽāĻžāϤā§āϰ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ
āύā§āϰā§āϧāĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻŦāĻŋāĻļā§āώāϤā§āĻŦ āĻšāϞ āϝ⧠āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻĒā§āϰāϤāĻŋ āĻĄāĻŋāϏāĻŋāϤ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻ
āϏā§āĻĨāĻžāϝāĻŧā§ āĻā§ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§, āϝāĻĻāĻŋāĻ āĻā§āώā§āϤā§āϰāĻāĻŋ auth_key_id āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϝāĻŧ āĻāĻĒāύāĻžāĻā§ āĻ
āύā§āϤāϤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϰ āĻā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϝ⧠āĻā§āύ⧠āϏāĻŽāϝāĻŧ āĻ
āϏā§āĻĨāĻžāϝāĻŧā§ āĻā§āĻāĻŋ "āĻā§āϞ⧠āϝāĻžāĻāϝāĻŧāĻžāϰ" āĻ
āϧāĻŋāĻāĻžāϰ āϰāϝāĻŧā§āĻā§ - āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻā§ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āĻŦāϞ⧠āύāĻž... āĻāĻā§āĻāĻž, āĻā§āύ āĻĒāĻžāϰ⧠āύāĻž āĻāĻŦāĻŋāώā§āϝāϤ āϞāĻŦāĻŖā§āϰ āϏā§āĻā§āϰ āĻŽāϤ⧠āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻā§ āύā§āĻ, āĻāĻŦāĻ? ..
MTProto āĻĨāĻŋāĻŽ āϏāĻŽā§āĻĒāϰā§āĻā§ āϞāĻā§āώāĻŖā§āϝāĻŧ āĻāϰāĻ āĻāϝāĻŧā§āĻāĻāĻŋ āĻŦāĻŋāώāϝāĻŧ āϰāϝāĻŧā§āĻā§āĨ¤
āĻŦāĻžāϰā§āϤāĻž āĻŦāĻžāϰā§āϤāĻž, msg_id, msg_seqno, āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ, āĻā§āϞ āĻĻāĻŋāĻā§ āĻĒāĻŋāĻ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻŦā§āĻāĻŋāϤā§āϰā§āϝ
āĻā§āύ āĻāĻĒāύāĻŋ āϤāĻžāĻĻā§āϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻžāύāϤ⧠āĻšāĻŦā§? āĻāĻžāϰāĻŖ āϤāĻžāϰāĻž āĻāĻāĻāĻŋ āĻāĻā§āĻ āϏā§āϤāϰ⧠"āϞāĻŋāĻ" āĻāϰ⧠āĻāĻŦāĻ API āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻĒāύāĻžāĻā§ āϤāĻžāĻĻā§āϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āϏāĻā§āϤāύ āĻšāϤ⧠āĻšāĻŦā§āĨ¤ āϧāϰāĻž āϝāĻžāĻ āĻāĻŽāϰāĻž msg_key āϤ⧠āĻāĻā§āϰāĻšā§ āύāĻ; āύāĻŋāĻŽā§āύ āϏā§āϤāϰ āĻāĻŽāĻžāĻĻā§āϰ āĻāύā§āϝ āϏāĻŦāĻāĻŋāĻā§ āĻĄāĻŋāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰā§āĻā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻĄāĻŋāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻĄā§āĻāĻžāϰ āĻāĻŋāϤāϰ⧠āĻāĻŽāĻžāĻĻā§āϰ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻā§āώā§āϤā§āϰāĻā§āϞāĻŋ āϰāϝāĻŧā§āĻā§ (āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻĄā§āĻāĻžāϰ āĻĻā§āϰā§āĻā§āϝ, āϤāĻžāĻ āĻāĻŽāϰāĻž āĻāĻžāύāĻŋ āĻĒā§āϝāĻžāĻĄāĻŋāĻāĻāĻŋ āĻā§āĻĨāĻžāϝāĻŧ, āϤāĻŦā§ āĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āύāϝāĻŧ):
- āϞāĻŦāĻŖ - int64
- session_id - int64
- message_id â int64
- seq_no - int32
āĻāĻŽāĻžāĻĻā§āϰ āĻŽāύ⧠āĻāϰāĻŋāϝāĻŧā§ āĻĻā§āĻāϝāĻŧāĻž āϝāĻžāĻ āϝ⧠āĻĒā§āϰ⧠āĻĄāĻŋāϏāĻŋāϰ āĻāύā§āϝ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āϞāĻŦāĻŖ āĻāĻā§āĨ¤ āĻā§āύ āĻāĻžāύāĻŋ āϤāĻžāϰ āĻāĻĨāĻž? āĻļā§āϧ⧠āĻ
āύā§āϰā§āϧ āĻāĻā§ āĻŦāϞ⧠āύāϝāĻŧ get_future_salts, āϝāĻž āĻāĻĒāύāĻžāĻā§ āĻŦāϞ⧠āϝ⧠āĻā§āύ āĻŦāĻŋāϰāϤāĻŋāĻā§āϞāĻŋ āĻŦā§āϧ āĻšāĻŦā§, āĻāĻŋāύā§āϤ⧠āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻžāϰāĻŖ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āϞāĻŦāĻŖ "āĻĒāĻāĻž" āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ (āĻ
āύā§āϰā§āϧ) āĻšāĻžāϰāĻŋāϝāĻŧā§ āϝāĻžāĻŦā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ, āĻ
āĻŦāĻļā§āϝāĻ, āĻāϏā§āϝ⧠āĻāϰ⧠āύāϤā§āύ āϞāĻŦāĻŖ āϰāĻŋāĻĒā§āϰā§āĻ āĻāϰāĻŦā§ new_session_created - āϤāĻŦā§ āĻĒā§āϰāĻžāύā§āĻāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āĻā§āύāĻāĻāĻžāĻŦā§ āĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāϤ⧠āĻšāĻŦā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒāĨ¤ āĻāĻŦāĻ āĻāĻ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰā§āĨ¤
āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋāĻā§ āϏā§āĻļāύāĻā§āϞāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§ āĻĄā§āϰāĻĒ āĻāϰāĻžāϰ āĻ
āύā§āĻŽāϤāĻŋ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āĻ
āύā§āĻ āĻāĻžāϰāĻŖā§ āĻāĻāĻāĻžāĻŦā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāύ⧠āĻšāϝāĻŧāĨ¤ āĻāϏāϞā§, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĒāĻā§āώ āĻĨā§āĻā§ āĻāĻāĻāĻŋ MTProto āϏā§āĻļāύ āĻāĻŋ? āĻāĻ āĻĻā§āĻāĻŋ āϏāĻāĻā§āϝāĻž session_id и seq_no āĻāĻ āĻ
āϧāĻŋāĻŦā§āĻļāύā§āϰ āĻŽāϧā§āϝ⧠āĻŦāĻžāϰā§āϤāĻž. āĻāĻžāϞ, āĻāĻŦāĻ āĻ
āύā§āϤāϰā§āύāĻŋāĻšāĻŋāϤ TCP āϏāĻāϝā§āĻ, āĻ
āĻŦāĻļā§āϝāĻāĨ¤ āϧāϰāĻž āϝāĻžāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻāύāĻ āĻāĻžāύ⧠āύāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻ
āύā§āĻ āĻāĻŋāĻā§ āĻāϰāϤ⧠āĻšāϝāĻŧ, āϏ⧠āϏāĻāϝā§āĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻāϰ⧠āĻāĻŦāĻžāϰ āϏāĻāϝā§āĻ āĻāϰā§āĻā§āĨ¤ āϝāĻĻāĻŋ āĻāĻāĻŋ āĻĻā§āϰā§āϤ āĻāĻā§ āĻĨāĻžāĻā§ - āύāϤā§āύ āĻāĻŋāϏāĻŋāĻĒāĻŋ āϏāĻāϝā§āĻā§ āĻĒā§āϰāĻžāύ⧠āϏā§āĻļāύ āĻ
āĻŦā§āϝāĻžāĻšāϤ āĻĨāĻžāĻā§, āĻŦā§āĻĻā§āϧāĻŋ āĻāϰā§āύ seq_no āĻāϰāĻ āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧ āύā§āϝāĻŧ, āϏāĻžāϰā§āĻāĻžāϰ āĻāĻāĻŋ āĻŽā§āĻā§ āĻĢā§āϞāϤ⧠āĻĒāĻžāϰā§, āĻāĻžāϰāĻŖ āĻāĻāĻŋāϰ āĻĒāĻžāĻļā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϰāĻŋ, āϝā§āĻŽāύ āĻāĻŽāϰāĻž āĻā§āĻāĻā§ āĻĒā§āϝāĻŧā§āĻāĻŋāĨ¤
āĻāĻāĻž āĻāĻŋ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ seq_no? āĻāĻš, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāϤā§āϰ āĻĒā§āϰāĻļā§āύ. āĻāĻŋ āĻŦā§āĻāĻžāύ⧠āĻšāϝāĻŧā§āĻāĻŋāϞ āϤāĻž āϏā§āĻāĻžāĻŦā§ āĻŦā§āĻāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύ:
āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§-āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻŦāĻžāϰā§āϤāĻž
āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻž āϝāĻžāϤ⧠āĻāĻāĻāĻŋ āϏā§āĻĒāώā§āĻ āϏā§āĻŦā§āĻā§āϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ⧎ āĻāϰ āĻŽāϧā§āϝ⧠āϏāĻŽāϏā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻŦāĻ āĻ āύā§āĻ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦāĻžāϰā§āϤāĻž āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϰāϝāĻŧā§āĻā§, āĻāĻžāϰā§āϝāϤ āϏāĻŽāϏā§āϤ āĻāύā§āĻā§āĻāύāĻžāϰ āĻāĻŦāĻ āϏā§āĻŦā§āĻā§āϤāĻŋ āĻŦā§āϝāϤā§āϤāĨ¤
āĻŦāĻžāϰā§āϤāĻž āĻā§āϰāĻŽ āύāĻŽā§āĻŦāϰ (msg_seqno)
āĻāĻāĻāĻŋ 32-āĻŦāĻŋāĻ āϏāĻāĻā§āϝāĻž "āϏāĻžāĻŽāĻā§āϰā§-āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ" āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻĻā§āĻŦāĻŋāĻā§āĻŖ āϏāĻāĻā§āϝāĻžāϰ āϏāĻŽāĻžāύ (āϝāĻžāϰ āĻāύā§āϝ āϏā§āĻŦā§āĻā§āϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ, āĻāĻŦāĻ āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āϝā§āĻā§āϞāĻŋ āϧāĻžāϰāĻ āύāϝāĻŧ) āĻāĻ āĻŦāĻžāϰā§āϤāĻžāϰ āĻāĻā§ āĻĒā§āϰā§āϰāĻ āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āĻĻā§āϧāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝāĻĻāĻŋ āĻŦāϰā§āϤāĻŽāĻžāύ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻšāϝāĻŧ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§-āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻŦāĻžāϰā§āϤāĻžāĨ¤ āĻāĻāĻāĻŋ āϧāĻžāϰāĻ āϏāϰā§āĻŦāĻĻāĻž āϤāĻžāϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§āϰ āĻĒāϰ⧠āĻāϤā§āĻĒāύā§āύ āĻšāϝāĻŧ; āϏā§āϤāϰāĻžāĻ, āĻāϰ āĻā§āϰāĻŽ āϏāĻāĻā§āϝāĻž āĻāĻāĻŋāϤ⧠āĻĨāĻžāĻāĻž āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻā§āϰāĻŽ āϏāĻāĻā§āϝāĻžāϰ āĻā§āϝāĻŧā§ āĻŦāĻĄāĻŧ āĻŦāĻž āϏāĻŽāĻžāύāĨ¤
āĻāĻāĻŋ 1 āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āĻĻā§āϧāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠2 āĻĻā§āĻŦāĻžāϰāĻž āĻ
āύā§āϝ āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϏ?... āĻāĻŽāĻŋ āϏāύā§āĻĻā§āĻš āĻāϰāĻŋ āϝ⧠āϤāĻžāϰāĻž āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§ "ACK-āĻāϰ āĻāύā§āϝ āϏāϰā§āĻŦāύāĻŋāĻŽā§āύ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻŦāĻŋāĻ, āĻŦāĻžāĻāĻŋāĻā§āϞāĻŋ āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻž" āĻŦā§āĻāĻžāϤ⧠āĻā§āϝāĻŧā§āĻāĻŋāϞ, āĻāĻŋāύā§āϤ⧠āĻĢāϞāĻžāĻĢāϞāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāĻāĻ āύāϝāĻŧ - āĻŦāĻŋāĻļā§āώ āĻāϰā§, āĻāĻāĻŋ āĻŦā§āϰāĻŋāϝāĻŧā§ āĻāϏā§, āĻĒāĻžāĻ āĻžāύ⧠āϝā§āϤ⧠āĻĒāĻžāϰ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ āĻāĻāĻ āĻĨāĻžāĻāĻžāϰ seq_no! āĻāĻŋāĻāĻžāĻŦā§? āĻ āĻŋāĻ āĻāĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϏāĻžāϰā§āĻāĻžāϰ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŋāĻā§ āĻĒāĻžāĻ āĻžāϝāĻŧ, āĻāĻāĻŋ āĻĒāĻžāĻ āĻžāϝāĻŧ āĻāĻŦāĻ āĻāĻŽāϰāĻž āύāĻŋāĻā§āϰāĻžāĻ āύā§āϰāĻŦ āĻĨāĻžāĻāĻŋ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āϤāĻžāϰ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻĒā§āϰāĻžāĻĒā§āϤāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āĨ¤ āĻāĻ āĻā§āώā§āϤā§āϰā§, āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻšāĻŋāϰā§āĻāĻžāĻŽā§ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ āĻāĻāĻ āĻŦāĻšāĻŋāϰā§āĻāĻžāĻŽā§ āύāĻŽā§āĻŦāϰ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ TCP āĻāϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻšāύ āĻāĻŦāĻ āĻŽāύ⧠āĻāϰā§āύ āϝ⧠āĻāĻāĻŋ āĻāĻāϰāĻāĻŽ āĻŦāύā§āϝ āĻļā§āύāĻžāĻā§āĻā§, āϤāĻŦā§ āĻāĻāĻŋ āĻā§āĻŦ āĻŦāύā§āϝ āĻŦāϞ⧠āĻŽāύ⧠āĻšāĻā§āĻā§ āύāĻž, āĻāĻžāϰāĻŖ TCP-āϤ⧠seq_no āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧ āύāĻž, āĻāĻŋāύā§āϤ⧠āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ āϝāĻžāϝāĻŧ seq_no āĻ
āύā§āϝ āĻĻāĻŋāĻā§, āĻāĻŽāĻŋ āϤā§āĻŽāĻžāĻā§ āĻŦāĻŋāϰāĻā§āϤ āĻāϰāϤ⧠āϤāĻžāĻĄāĻŧāĻžāϤāĻžāĻĄāĻŧāĻŋ āĻāϰāĻŦāĨ¤ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ MTProto āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž āĻ seq_no, TCP āĻāϰ āĻŽāϤ, āĻāĻŋāύā§āϤ⧠āĻĻā§āĻŦāĻžāϰāĻž msg_id !
āĻāĻāĻž āĻāĻŋ msg_id, āĻāĻ āĻā§āώā§āϤā§āϰ⧠āϏāĻŦāĻā§āϝāĻŧā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ? āĻāĻāĻāĻŋ āĻ
āύāύā§āϝ āĻŦāĻžāϰā§āϤāĻž āĻļāύāĻžāĻā§āϤāĻāĻžāϰā§, āϝā§āĻŽāύ āύāĻžāĻŽ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ 64-āĻŦāĻŋāĻ āϏāĻāĻā§āϝāĻž āĻšāĻŋāϏāĻžāĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻžāϰ āϏāϰā§āĻŦāύāĻŋāĻŽā§āύ āĻŦāĻŋāĻāĻā§āϞāĻŋāϤ⧠āĻāĻŦāĻžāϰ "āϏāĻžāϰā§āĻāĻžāϰ-āύāĻ-āϏāĻžāϰā§āĻāĻžāϰ" āĻŽā§āϝāĻžāĻāĻŋāĻ āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāύāĻŋāĻā§āϏ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ, āĻāĻā§āύāĻžāĻāĻļ āϏāĻš, 32 āĻŦāĻŋāĻ āĻŦāĻžāĻŽ āĻĻāĻŋāĻā§ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰāĻŋāϤ āĻšāϝāĻŧā§āĻā§ā§ˇ āϏā§āĻā§āϞā§. āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ āĻĒā§āϰāϤāĻŋ āϏ⧠(āĻāĻŦāĻ āϏāĻŽāϝāĻŧā§āϰ āϏāĻžāĻĨā§ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻāĻŋāύā§āύāϤāĻžāϰ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāϤā§āϝāĻžāĻā§āϝāĻžāύ āĻāϰāĻž āĻšāĻŦā§)āĨ¤ āĻāĻāĻŋ āĻĨā§āĻā§ āĻĻā§āĻāĻž āϝāĻžāĻā§āĻā§ āϝ⧠āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āϝāĻž āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāύā§āϝ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āϝāĻžāĻĒā§āĨ¤ āĻĻā§āĻāϝāĻŧāĻž āϝ⧠- āĻāϏā§āύ āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ session_id - āĻāĻŽāϰāĻž āύāĻŋāĻļā§āĻāĻŋāϤ: āĻā§āύ⧠āĻ
āĻŦāϏā§āĻĨāĻžāϤā§āĻ āĻāĻāĻāĻŋ āϏā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻž āĻ
āύā§āϝ āϏā§āĻļāύ⧠āĻĒāĻžāĻ āĻžāύ⧠āϝāĻžāĻŦā§ āύāĻž. āϝā§, āĻāĻāĻž āϏāĻā§āϰāĻŋāϝāĻŧ āϝ⧠āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāĻā§ āϤāĻŋāύ āϏā§āϤāϰ - āĻ
āϧāĻŋāĻŦā§āĻļāύ, āĻ
āϧāĻŋāĻŦā§āĻļāύ āύāĻŽā§āĻŦāϰ, āĻŦāĻžāϰā§āϤāĻž āĻāĻāĻĄāĻŋāĨ¤ āĻā§āύ āĻāϤ āĻāĻāĻŋāϞāϤāĻž, āĻāĻ āϰāĻšāϏā§āϝāĻāĻž āĻā§āĻŦ āĻŦāĻĄāĻŧāĨ¤
āĻāĻŦāĻ āϤāĻžāĻ, msg_id āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύ...
RPC: āĻ āύā§āϰā§āϧ, āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž, āϤā§āϰā§āĻāĻŋāĨ¤ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ
āĻāĻĒāύāĻŋ āĻšāϝāĻŧāϤ⧠āϞāĻā§āώā§āϝ āĻāϰā§āĻā§āύ, āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽā§ āĻā§āĻĨāĻžāĻ āĻā§āύ⧠āĻŦāĻŋāĻļā§āώ "āĻāĻāĻāĻŋ RPC āĻ
āύā§āϰā§āϧ āĻāϰā§āύ" āĻāĻžāĻāĻĒ āĻŦāĻž āĻĢāĻžāĻāĻļāύ āύā§āĻ, āϝāĻĻāĻŋāĻ āĻāϤā§āϤāϰ āĻāĻā§āĨ¤ āϏāĻŦ āĻĒāϰā§, āĻāĻŽāϰāĻž āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻŦāĻžāϰā§āϤāĻž āĻāĻā§! āĻāĻāĻžāĻ, āĻā§āύ āĻŦāĻžāϰā§āϤāĻž āĻāĻāĻāĻŋ āĻ
āύā§āϰā§āϧ āĻšāϤ⧠āĻĒāĻžāϰā§! āĻŦāĻž āĻšāϤ⧠āĻšāĻŦā§ āύāĻž. āϏāϰā§āĻŦā§āĻĒāϰāĻŋ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻšāϞ msg_id. āĻāĻŋāύā§āϤ⧠āĻāϤā§āϤāϰ āĻāĻā§:
rpc_result#f35c6d01 req_msg_id:long result:Object = RpcResult;āĻāĻāĻŋ āĻāĻāĻžāύā§āĻ āύāĻŋāϰā§āĻĻā§āĻļāĻŋāϤ āĻšāϝāĻŧ āϝ⧠āĻāĻāĻŋ āĻā§āύ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋāϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĨ¤ āĻ
āϤāĻāĻŦ, API-āĻāϰ āĻļā§āϰā§āώ āϏā§āϤāϰā§, āĻāĻĒāύāĻžāĻā§ āĻāĻĒāύāĻžāϰ āĻ
āύā§āϰā§āϧā§āϰ āϏāĻāĻā§āϝāĻžāĻāĻŋ āĻŽāύ⧠āϰāĻžāĻāϤ⧠āĻšāĻŦā§ - āĻāĻŽāĻŋ āĻŽāύ⧠āĻāϰāĻŋ āϝ⧠āĻāĻžāĻāĻāĻŋ āĻ
ā§āϝāĻžāϏāĻŋāĻā§āĻā§āϰā§āύāĻžāϏ āϤāĻž āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻžāϰ āĻĻāϰāĻāĻžāϰ āύā§āĻ āĻāĻŦāĻ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻ
āύā§āϰā§āϧ āĻĒā§āϰāĻāϤāĻŋāĻļā§āϞ āĻšāϤ⧠āĻĒāĻžāϰā§, āϝāĻžāϰ āĻāϤā§āϤāϰ āĻā§āύ āĻā§āϰāĻŽā§ āĻĢā§āϰāϤ āĻĻā§āĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ? āύā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻĨā§āĻā§ āĻāĻŦāĻ āĻā§āύāĻ āĻāϰā§āĻŽā§ āύāϝāĻŧ āĻāĻŽāύ āϤā§āϰā§āĻāĻŋāϰ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āĻĨā§āĻā§, āĻāϰ āĻĒāĻŋāĻāύā§āϰ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§: āϝ⧠āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻāĻĒāύāĻžāϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ TCP āϏāĻāϝā§āĻ āĻŦāĻāĻžāϝāĻŧ āϰāĻžāĻā§ āϏā§āĻāĻŋ āĻāĻāĻāĻŋ āĻĢā§āϰāύā§āĻ-āĻāύā§āĻĄ āĻŦā§āϝāĻžāϞā§āύā§āϏāĻžāϰ, āĻāĻāĻŋ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄā§ āĻ
āύā§āϰā§āϧāĻā§āϞāĻŋ āĻĢāϰā§āϝāĻŧāĻžāϰā§āĻĄ āĻāϰ⧠āĻāĻŦāĻ āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏā§āĻā§āϞāĻŋāĻā§ āϏāĻāĻā§āϰāĻš āĻāϰā§āĨ¤ message_id. āĻŽāύ⧠āĻšāĻā§āĻā§ āĻāĻāĻžāύ⧠āϏāĻŦāĻāĻŋāĻā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰ, āϝā§āĻā§āϤāĻŋāĻ āĻāĻŦāĻ āĻāĻžāϞāĨ¤
āĻšā§āϝāĻžāĻ?.. āĻāϰ āϝāĻĻāĻŋ āĻāĻžāĻŦā§? āϏāĻŦ āĻĒāϰā§, RPC āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āύāĻŋāĻā§āĻ āĻāĻāĻāĻŋ āĻā§āώā§āϤā§āϰ āĻāĻā§ msg_id! āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻŋā§āĻāĻžāϰ āĻāϰāĻž āĻĻāϰāĻāĻžāϰ "āĻāĻĒāύāĻŋ āĻāĻŽāĻžāϰ āĻāϤā§āϤāϰā§āϰ āĻāϤā§āϤāϰ āĻĻāĻŋāĻā§āĻā§āύ āύāĻž!"? āĻāĻŦāĻ āĻšā§āϝāĻžāĻ, āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋ āĻāĻŋāϞ? āĻĒā§āώā§āĻ āĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻŦāϞā§āύ āĻāĻŋ
msgs_ack#62d6b459 msg_ids:Vector long = MsgsAck;āĻāĻŦāĻ āĻāĻāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāĻā§āώ āĻĻā§āĻŦāĻžāϰāĻž āĻāϰāĻž āĻāĻŦāĻļā§āϝāĻ. āϤāĻŦā§ āϏāĻŦ āϏāĻŽāϝāĻŧ āύāϝāĻŧ! āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ RpcResult āĻĒā§āϝāĻŧā§ āĻĨāĻžāĻā§āύ āϤāĻŦā§ āĻāĻāĻŋ āύāĻŋāĻā§āĻ āĻāĻāĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻ āϰā§āĻĨāĻžā§, āϏāĻžāϰā§āĻāĻžāϰ MsgsAck-āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻĒāύāĻžāϰ āĻ āύā§āϰā§āϧā§āϰ āĻāĻŦāĻžāĻŦ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰ⧠- āϝā§āĻŽāύ, "āĻāĻŽāĻŋ āĻāĻāĻŋ āĻĒā§āϝāĻŧā§āĻāĻŋāĨ¤" RpcResult āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻž āĻāĻāϝāĻŧ āĻšāϤ⧠āĻĒāĻžāϰā§.
āĻāĻŦāĻ āĻšā§āϝāĻžāĻ, āĻāĻĒāύāĻŋ āĻāĻāύāĻ āĻāϤā§āϤāϰ āĻāϤā§āϤāϰ āĻĻāĻŋāϤ⧠āĻšāĻŦā§! āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖāĨ¤ āĻ āύā§āϝāĻĨāĻžāϝāĻŧ, āϏāĻžāϰā§āĻāĻžāϰ āĻāĻāĻŋāĻā§ āĻĄā§āϞāĻŋāĻāĻžāϰ āĻāϰāĻžāϰ āĻ āϝā§āĻā§āϝ āĻŦāϞ⧠āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŦāĻžāϰ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤ āĻĒā§āύāĻāϏāĻāϝā§āĻā§āϰ āĻĒāϰā§āĻāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻāĻžāύā§, āĻ āĻŦāĻļā§āϝāĻ, āϏāĻŽāϝāĻŧāϏā§āĻŽāĻžāϰ āϏāĻŽāϏā§āϝāĻž āĻĻā§āĻāĻž āĻĻā§āϝāĻŧāĨ¤ āĻāϞā§āύ āĻāĻāĻā§ āĻĒāϰ⧠āϏā§āĻā§āϞ⧠āĻĻā§āĻāĻŋāĨ¤
āĻāϤāĻŋāĻŽāϧā§āϝā§, āĻāϏā§āύ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āϏāĻŽā§āĻĒāĻžāĻĻāύ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻĻā§āĻā§āύāĨ¤
rpc_error#2144ca19 error_code:int error_message:string = RpcError;āĻāĻš, āĻā§āĻ āĻāĻŋā§āĻāĻžāϰ āĻāϰāĻŦā§, āĻāĻāĻžāύ⧠āĻāϰāĻ āĻŽāĻžāύāĻŦāĻŋāĻ āĻŦāĻŋāύā§āϝāĻžāϏ - āĻāĻāĻāĻŋ āϞāĻžāĻāύ āĻāĻā§! āĻāĻĒāύāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāύ. āĻāĻāĻžāύ⧠, āĻāĻŋāύā§āϤ⧠āĻ
āĻŦāĻļā§āϝāĻ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āύāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻĨā§āĻā§ āĻāĻŽāϰāĻž āĻļāĻŋāĻā§āĻāĻŋ āϝ⧠āĻā§āĻĄāĻāĻŋ āĻāĻŋāĻā§āĻāĻž āĻāĻāϰāĻāĻŽ HTTP āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ (āĻāĻžāϞ, āĻ
āĻŦāĻļā§āϝāĻ, āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāϰ āĻļāĻŦā§āĻĻāĻžāϰā§āĻĨāĻā§ āϏāĻŽā§āĻŽāĻžāύ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž, āĻāĻŋāĻā§ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻāĻā§āϞāĻŋ āĻā§āĻĄāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāϞā§āĻŽā§āϞā§āĻāĻžāĻŦā§ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ), āĻāĻŦāĻ āϞāĻžāĻāύāĻāĻŋ āĻāĻŽāύ āĻĻā§āĻāĻžāĻā§āĻā§ CAPITAL_LETTERS_AND_NUMBERS. āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, PHONE_NUMBER_OCCUPIED āĻŦāĻž FILE_PART_ĐĨ_MISSING⧎ āĻāϝāĻŧā§āϞ, āϝā§, āĻāĻĒāύāĻŋ āĻāĻāύāĻ āĻāĻ āϞāĻžāĻāύ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§ āĻĒāĻžāϰā§āϏāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ FLOOD_WAIT_3600 āĻāĻĒāύāĻŋ āĻāĻ āĻāύā§āĻāĻž āĻ
āĻĒā§āĻā§āώāĻž āĻāϰāϤ⧠āĻšāĻŦā§ āĻŽāĻžāύā§, āĻāĻŦāĻ PHONE_MIGRATE_5, āĻāĻ āĻāĻĒāϏāϰā§āĻ āϏāĻš āĻāĻāĻāĻŋ āĻā§āϞāĻŋāĻĢā§āύ āύāĻŽā§āĻŦāϰ āĻ
āĻŦāĻļā§āϝāĻ 5 āϤāĻŽ āĻĄāĻŋāϏāĻŋāϤ⧠āύāĻŋāĻŦāύā§āϧāĻŋāϤ āĻšāϤ⧠āĻšāĻŦā§ā§ˇ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āĻāĻžāώāĻž āĻāĻā§, āϤāĻžāĻ āύāĻž? āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āϝā§āĻā§āϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ, āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āϤāĻžāϰāĻž āĻāϰāĻŦā§, āĻ āĻŋāĻ āĻāĻā§āĨ¤
āĻāĻŦāĻžāϰ, āĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦāĻžāϰā§āϤāĻž āĻĒā§āώā§āĻ āĻžāϝāĻŧ āύāϝāĻŧ, āϤāĻŦā§, āĻāĻ āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āϏāĻžāĻĨā§ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻšāĻŋāϏāĻžāĻŦā§, āϤāĻĨā§āϝ āĻĒāĻžāĻāϝāĻŧāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āĻ
āύā§āϝ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒā§āώā§āĻ āĻžāϝāĻŧāĨ¤ āĻ
āĻĨāĻŦāĻž āϏāύā§āĻĻā§āĻš āĻāϰāĻž. āĻĒā§āϰāĻĨāĻŽāϤ, āĻĻā§āĻā§āύ, āĻāĻžāĻāĻĒāĻŋāĻ/āϞā§āϝāĻŧāĻžāϰ āϞāĻā§āĻāύ - RpcError āĻŽāϧā§āϝ⧠āύā§āϏā§āĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠RpcResult. āĻŦāĻžāĻāϰ⧠āύāϝāĻŧ āĻā§āύ? āĻāĻŽāϰāĻž āĻā§ āĻāĻŽāϞ⧠āύāĻŋāϞāĻžāĻŽ āύāĻž?... āϏā§āĻ āĻ
āύā§āϝāĻžāϝāĻŧā§, āϏā§āĻ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ āĻā§āĻĨāĻžāϝāĻŧ? RpcError āĻāĻŽā§āĻŦā§āĻĄ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻž RpcResult, āĻāĻŋāύā§āϤ⧠āϏāϰāĻžāϏāϰāĻŋ āĻŦāĻž āĻ
āύā§āϝ āϧāϰāύā§āϰ āύā§āϏā§āĻā§āĻĄ āĻšāϤ⧠āĻšāĻŦā§?.. āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻāĻŋ āύāĻž āĻĒāĻžāϰā§, āĻā§āύ āĻāĻāĻŋ āĻļā§āϰā§āώ āϏā§āϤāϰ⧠āύāϝāĻŧ, āϝā§āĻŽāύ āĻāĻāĻž āύāĻžāĻ req_msg_id ? ..
āĻāĻŋāύā§āϤ⧠āĻāϰ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦāĻžāϰā§āϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āĻŦāĻŋāϰāϤ āĻāϰāĻž āϝāĻžāĻ. āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻŽāύ⧠āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻāĻŋāύā§āϤāĻž āĻāϰāĻā§ āĻāĻŦāĻ āĻāĻ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ āĻ āύā§āϰā§āϧāĻāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§:
rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;āĻāĻ āĻĒā§āϰāĻļā§āύā§āϰ āϤāĻŋāύāĻāĻŋ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻāϤā§āϤāϰ āϰāϝāĻŧā§āĻā§, āĻāĻŦāĻžāϰ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻžāĻĨā§ āĻā§āĻĻ āĻāϰ⧠āϏā§āĻā§āϞāĻŋ āĻā§ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ āϤāĻž āĻŦā§āĻāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻž (āĻāĻŦāĻ āĻā§ āϧāϰāĻŖā§āϰ āϏāĻžāϧāĻžāϰāĻŖ āϤāĻžāϞāĻŋāĻāĻž āϝāĻž āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ) āĻĒāĻžāĻ āĻā§āϰ āĻāĻžāĻā§ āĻšā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻā§āĻĄāĻŧā§ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧā§āĻā§ (āĻĻā§āϰāώā§āĻāĻŦā§āϝ: āϤāĻĨā§āϝ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ āϏā§āϰā§āϏ āĻā§āĻĄ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āύāϝāĻŧ)āĨ¤
āĻŽāĻžāĻĻāĻāĻžāϏāĻā§āϤāĻŋ: āĻŦāĻžāϰā§āϤāĻž āϏā§āĻā§āϝāĻžāĻāĻžāϏ
āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§, āĻāĻŋāĻāϞ, āĻāĻŽāĻāĻŋāĻĒā§āϰā§āĻā§ āĻāĻŦāĻ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āĻ āύā§āĻ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻāĻāĻā§āĻāϝāĻŧā§āĻŽāĻŋāϰ āĻ āύā§āĻā§āϤāĻŋ āĻā§āĻĄāĻŧā§ āϝāĻžāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻāĻĻā§āϰāϤāĻž, āĻā§āĻļāϞ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āύāϰāĻŽ āĻĻāĻā§āώāϤāĻž āĻāĻŽāϰāĻž āĻŦāĻŋāύāϝāĻŧā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āύā§āϰāĻŦ āĻāĻŋāϞāĻžāĻŽ, āĻāĻŦāĻ āϏāĻāϞāĻžāĻĒā§ āĻ āĻļā§āϞā§āϞāϤāĻž āϏā§āύā§āϏāϰ āĻāϰā§āĻāĻŋāĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻ āĻāĻžāϝāĻŧāĻāĻžĐāĻĒā§āώā§āĻ āĻžāϰ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻāĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻž āĻāĻŽāĻžāϰ āĻāύā§āϝāĻ āĻšāϤāĻŦāĻžāĻ, āϝāĻŋāύāĻŋ āĻĻā§āϰā§āĻāĻĻāĻŋāύ āϧāϰ⧠āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒā§āϰā§āĻā§āĻāϞā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻā§āύ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŽāĻžāϤā§āϰāĻžāϰ āĻā§āĻāĻŋāϞāϤāĻžāϰ āϏāĻžāĻāĻā§āϞ āĻĻā§āĻā§āĻā§āύāĨ¤
āĻāĻāĻž āύāĻŋāϰā§āĻĻā§āώāĻāĻžāĻŦā§ āĻļā§āϰ⧠āĻšāϝāĻŧ, āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§āĨ¤ āĻĒāϰāĻŦāϰā§āϤ⧠āϤāĻžāϰāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻŦāϞā§āύ
bad_msg_notification#a7eff811 bad_msg_id:long bad_msg_seqno:int error_code:int = BadMsgNotification;
bad_server_salt#edab447b bad_msg_id:long bad_msg_seqno:int error_code:int new_server_salt:long = BadMsgNotification;āĻ āĻŋāĻ āĻāĻā§, āϝāĻžāϰāĻž MTProto āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻļā§āϰ⧠āĻāϰ⧠āϤāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ "āϏāĻāĻļā§āϧāĻŋāϤ - āĻĒā§āύāϰāĻžāϝāĻŧ āϏāĻāĻāϞāĻŋāϤ - āĻāĻžāϞā§" āĻāĻā§āϰā§āϰ āϏāĻžāĻĨā§ āĻŽā§āĻāĻžāĻŦāĻŋāϞāĻž āĻāϰāϤ⧠āĻšāĻŦā§, āϏāĻāĻā§āϝāĻžāϰ āϤā§āϰā§āĻāĻŋ āĻŦāĻž āϞāĻŦāĻŖ āϝāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻžāϰāĻžāĻĒ āĻšāϤ⧠āĻĒāĻžāϰ⧠āϤāĻž āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻŋāώāϝāĻŧāĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻāĻžāύ⧠āĻĻā§āĻāĻŋ āĻĒāϝāĻŧā§āύā§āĻ āĻāĻā§:
- āĻāϰ āĻŽāĻžāύ⧠āĻŽā§āϞ āĻŦāĻžāϰā§āϤāĻž āĻšāĻžāϰāĻŋāϝāĻŧā§ āĻā§āĻā§āĨ¤ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŋāĻā§ āϏāĻžāϰāĻŋ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻŽāϰāĻž āĻĒāϰ⧠āĻĻā§āĻāĻŦāĨ¤
- āĻāĻ āĻ āĻĻā§āĻā§āϤ āϤā§āϰā§āĻāĻŋ āϏāĻāĻā§āϝāĻž āĻāĻŋ? 16, 17, 18, 19, 20, 32, 33, 34, 35, 48, 64... āĻ āύā§āϝ āϏāĻāĻā§āϝāĻžāĻā§āϞ⧠āĻā§āĻĨāĻžāϝāĻŧ, āĻāĻŽāĻŋ?
āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻŦāϞā§:
āĻāĻĻā§āĻĻā§āĻļā§āϝ āĻšāϞ āϝ⧠error_code āĻŽāĻžāύāĻā§āϞāĻŋāĻā§ āĻā§āώā§āĻ ā§āĻŦāĻĻā§āϧ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ (error_code >> 4): āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, 0x40 â 0x4f āĻā§āĻĄāĻā§āϞāĻŋ āĻāύā§āĻā§āĻāύāĻžāϰ āĻĒāĻāύā§āϰ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞ⧠āϝāĻžāϝāĻŧ⧎
āĻāĻŋāύā§āϤā§, āĻĒā§āϰāĻĨāĻŽāϤ, āĻ āύā§āϝ āĻĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ, āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāϤ, āĻāĻāĻŋ āĻā§āύ āĻŦā§āϝāĻžāĻĒāĻžāϰ āύāĻž, āĻ āύā§āϝāĻžāύā§āϝ āĻā§āĻĄāĻā§āϞāĻŋ āĻā§āĻĨāĻžāϝāĻŧ? āϞā§āĻāĻā§āϰ āĻŽāĻžāĻĨāĻžāϝāĻŧ?.. āϝāĻžāĻāĻšā§āĻ, āĻāĻā§āϞ⧠āϤā§āĻā§āĻ āĻāĻĨāĻžāĨ¤
āĻŦāĻžāϰā§āϤāĻž āϏā§āĻĨāĻŋāϤāĻŋ āĻāĻŦāĻ āĻŦāĻžāϰā§āϤāĻž āĻāĻĒāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϤ⧠āĻāϏāĻā§āϤāĻŋ āĻļā§āϰ⧠āĻšāϝāĻŧ:
- āĻŦāĻžāϰā§āϤāĻž āϏā§āĻĨāĻŋāϤāĻŋ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ āĻ
āύā§āϰā§āϧ
āϝāĻĻāĻŋ āĻāĻāϝāĻŧ āĻĒāĻā§āώ āĻāĻŋāĻā§ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āϤāĻžāϰ āĻŦāĻšāĻŋāϰā§āĻāĻžāĻŽā§ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āϏā§āĻĨāĻŋāϤāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āϤāĻĨā§āϝ āύāĻž āĻĒāĻžāϝāĻŧ āϤāĻŦā§ āĻāĻāĻŋ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻ āύā§āϝ āĻĒāĻā§āώā§āϰ āĻāĻžāĻ āĻĨā§āĻā§ āĻ āύā§āϰā§āϧ āĻāϰāϤ⧠āĻĒāĻžāϰā§:
msgs_state_req#da69fb52 msg_ids:Vector long = MsgsStateReq; - āĻŦāĻžāϰā§āϤāĻžāϰ āϏā§āĻĨāĻŋāϤāĻŋ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āϤāĻĨā§āϝāĻŽā§āϞāĻ āĻŦāĻžāϰā§āϤāĻž
msgs_state_info#04deb57d req_msg_id:long info:string = MsgsStateInfo;
āĻāĻāĻžāύā§,infoāĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āϝāĻž āĻāύāĻāĻžāĻŽāĻŋāĻ msg_ids āϤāĻžāϞāĻŋāĻāĻž āĻĨā§āĻā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϰ āĻāύā§āϝ āĻŦāĻžāϰā§āϤāĻž āϏā§āĻĨāĻŋāϤāĻŋāϰ āĻ āĻŋāĻ āĻāĻ āĻŦāĻžāĻāĻ āϧāĻžāϰāĻŖ āĻāϰā§:- 1 = āĻŦāĻžāϰā§āϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāĻā§āĻ āĻāĻžāύāĻž āύā§āĻ (msg_id āĻā§āĻŦ āĻāĻŽ, āĻ āύā§āϝ āĻĒāĻā§āώ āĻāĻāĻŋ āĻā§āϞ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§)
- 2 = āĻŦāĻžāϰā§āϤāĻž āĻā§āĻšā§āϤ āĻšāϝāĻŧāύāĻŋ (msg_id āϏāĻāϰāĻā§āώāĻŋāϤ āĻļāύāĻžāĻā§āϤāĻāĻžāϰā§āϰ āϏā§āĻŽāĻžāϰ āĻŽāϧā§āϝ⧠āĻĒāĻĄāĻŧā§; āϤāĻŦā§, āĻ āύā§āϝ āĻĒāĻā§āώ āĻ āĻŦāĻļā§āϝāĻ āĻāϰāĻāĻŽ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻž āĻĒāĻžāϝāĻŧāύāĻŋ)
- 3 = āĻŦāĻžāϰā§āϤāĻž āĻā§āĻšā§āϤ āĻšāϝāĻŧāύāĻŋ (msg_id āĻā§āĻŦ āĻŦā§āĻļāĻŋ; āϤāĻŦā§, āĻ āύā§āϝ āĻĒāĻā§āώ āĻ āĻŦāĻļā§āϝāĻ āĻāĻāĻŋ āĻāĻāύāĻ āĻā§āϰāĻšāĻŖ āĻāϰā§āύāĻŋ)
- 4 = āĻŦāĻžāϰā§āϤāĻž āĻā§āĻšā§āϤ (āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āĻāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻāĻāĻāĻŋ āϰāϏāĻŋāĻĻ āϏā§āĻŦā§āĻā§āϤāĻŋ)
- +8 = āĻŦāĻžāϰā§āϤāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āϏā§āĻŦā§āĻā§āϤ
- +16 = āĻŦāĻžāϰā§āϤāĻžāϰ āϏā§āĻŦā§āĻā§āϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ
- +32 = āĻŦāĻžāϰā§āϤāĻžāϰ āĻŽāϧā§āϝ⧠āĻĨāĻžāĻāĻž RPC āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻž āĻšāĻā§āĻā§ āĻŦāĻž āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āϏāĻŽā§āĻĒā§āϰā§āĻŖ
- +64 = āĻāϤāĻŋāĻŽāϧā§āϝ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻŦāĻžāϰā§āϤāĻžāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§-āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž
- +128 = āĻ
āύā§āϝ āĻĒāĻā§āώ āĻāĻžāύ⧠āϝ⧠āĻŦāĻžāϰā§āϤāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻā§āĻšā§āϤ āĻšāϝāĻŧā§āĻā§
āĻāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻāĻāĻŋ āϏā§āĻŦā§āĻā§āϤāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ āύāĻž. āĻāĻāĻŋ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ msgs_state_req-āĻāϰ āĻāĻāĻāĻŋ āϏā§āĻŦā§āĻā§āϤāĻŋ, āĻāĻŦāĻ āύāĻŋāĻā§āĻāĨ¤
āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āϝāĻĻāĻŋ āĻšāĻ āĻžā§ āĻĻā§āĻāĻž āϝāĻžāϝāĻŧ āϝ⧠āĻ āύā§āϝ āĻĒāĻā§āώā§āϰ āĻāĻžāĻā§ āĻāĻŽāύ āĻā§āύāĻ āĻŦāĻžāϰā§āϤāĻž āύā§āĻ āϝāĻž āĻĻā§āĻā§ āĻŽāύ⧠āĻšāĻā§āĻā§ āĻāĻāĻŋ āϤāĻžāĻā§ āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧā§āĻā§, āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāύ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŽāύāĻāĻŋ āϝāĻĻāĻŋ āĻ āύā§āϝ āĻĒāĻā§āώ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋāϰ āĻĻā§āĻāĻŋ āĻ āύā§āϞāĻŋāĻĒāĻŋ āĻā§āϰāĻšāĻŖ āĻāϰ⧠āϤāĻŦā§ āύāĻāϞāĻāĻŋ āĻāĻĒā§āĻā§āώāĻž āĻāϰāĻž āĻšāĻŦā§āĨ¤ (āϝāĻĻāĻŋ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āϏāĻŽāϝāĻŧ āĻāϞ⧠āϝāĻžāϝāĻŧ, āĻāĻŦāĻ āĻāϏāϞ msg_id āĻāϰ āĻŦā§āϧ āύāĻž āĻĨāĻžāĻā§, āϤāĻžāĻšāϞ⧠āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ msg_copy āĻ āĻŽā§āĻĄāĻŧāĻžāύ⧠āĻšāĻŦā§)āĨ¤
- āĻŦāĻžāϰā§āϤāĻžāϰ āϏā§āĻĨāĻŋāϤāĻŋāϰ āϏā§āĻŦā§āĻā§āĻāĻžāϏā§āĻŦā§ āϝā§āĻāĻžāϝā§āĻ
āĻāĻāϝāĻŧ āĻĒāĻā§āώ āϏā§āĻŦā§āĻā§āĻāĻžāϝāĻŧ āĻ āύā§āϝ āĻĒāĻā§āώāĻā§ āĻ āύā§āϝ āĻĒāĻā§āώā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰā§āϰāĻŋāϤ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻ āĻŦāϏā§āĻĨāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āĻŦāĻšāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
msgs_all_info#8cc0d131 msg_ids:Vector long info:string = MsgsAllInfo - āĻāĻ āĻŦāĻžāϰā§āϤāĻžāϰ āϏā§āĻĨāĻŋāϤāĻŋāϰ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āϏā§āĻŦā§āĻā§āĻāĻžāϏā§āĻŦā§ āϝā§āĻāĻžāϝā§āĻ
...
msg_detailed_info#276d3ec6 msg_id:long answer_msg_id:long bytes:int status:int = MsgDetailedInfo;
msg_new_detailed_info#809db6df answer_msg_id:long bytes:int status:int = MsgDetailedInfo; - āĻŦāĻžāϰā§āϤāĻž āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒāĻžāĻ āĻžāϤ⧠āϏā§āϏā§āĻĒāώā§āĻ āĻ
āύā§āϰā§āϧ
msg_resend_req#7d861a08 msg_ids:Vector long = MsgResendReq;
āϰāĻŋāĻŽā§āĻ āĻĒāĻžāϰā§āĻāĻŋ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻ āύā§āϰā§āϧ āĻāϰāĻž āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒā§āϰā§āϰāĻŖ āĻāϰ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϝāĻŧ [âĻ] - āĻāϤā§āϤāϰ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒāĻžāĻ āĻžāϤ⧠āϏā§āϏā§āĻĒāώā§āĻ āĻ
āύā§āϰā§āϧ
msg_resend_ans_req#8610baeb msg_ids:Vector long = MsgResendReq;
āϰāĻŋāĻŽā§āĻ āĻĒāĻžāϰā§āĻāĻŋ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒāĻžāĻ āĻžāύā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻžāĻĄāĻŧāĻž āĻĻā§āϝāĻŧ āĻāϤā§āϤāϰ āĻ āύā§āϰā§āϧ āĻāϰāĻž āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϤ⧠[âĻ] - āĻŦāĻžāϰā§āϤāĻž āĻ
āύā§āϞāĻŋāĻĒāĻŋ
āĻāĻŋāĻā§ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤā§, āĻāĻāĻāĻŋ msg_id āϏāĻš āĻāĻāĻāĻŋ āĻĒā§āϰāĻžāύ⧠āĻŦāĻžāϰā§āϤāĻž āϝāĻž āĻāϰ āĻŦā§āϧ āύāϝāĻŧ āĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāύā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ⧎ āϤāĻžāϰāĻĒāϰ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āύā§āϞāĻŋāĻĒāĻŋ āĻĒāĻžāϤā§āϰ⧠āĻŽā§āĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧ:
msg_copy#e06046b2 orig_message:Message = MessageCopy;
āĻāĻāĻŦāĻžāϰ āĻĒā§āϰāĻžāĻĒā§āϤ āĻšāϞā§, āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻāĻŽāύāĻāĻžāĻŦā§ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻž āĻšāϝāĻŧ āϝā§āύ āĻŽā§āĻĄāĻŧāĻāĻāĻŋ āϏā§āĻāĻžāύ⧠āύā§āĻāĨ¤ āϝāĻžāĻāĻšā§āĻ, āϝāĻĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤāĻāĻžāĻŦā§ āĻāĻžāύāĻž āϝāĻžāϝāĻŧ āϝ⧠orig_message.msg_id āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻā§āĻšā§āϤ āĻšāϝāĻŧā§āĻā§, āϤāĻžāĻšāϞ⧠āύāϤā§āύ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻž āĻšāϝāĻŧ āύāĻž (āϝāĻĻāĻŋāĻ āĻāĻāĻ āϏāĻŽāϝāĻŧā§, āĻāĻāĻŋ āĻāĻŦāĻ orig_message.msg_id āϏā§āĻŦā§āĻāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ)āĨ¤ orig_message.msg_id-āĻāϰ āĻŽāĻžāύ āĻāύā§āĻā§āĻāύāĻžāϰā§āϰ msg_id āĻĨā§āĻā§ āĻāĻŽ āĻšāϤ⧠āĻšāĻŦā§āĨ¤
āĻāϰ āĻāĻŽāύāĻāĻŋ āĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻā§āĻĒ āĻāϰāĻž āϝāĻžāĻ msgs_state_info āĻāĻŦāĻžāϰ āĻ
āϏāĻŽāĻžāĻĒā§āϤ TL-āĻāϰ āĻāĻžāύ āĻāĻāĻā§ āϝāĻžāĻā§āĻā§ (āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻžāĻāĻā§āϰ āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰ āĻĻāϰāĻāĻžāϰ āĻāĻŋāϞ, āĻāĻŦāĻ āύā§āĻā§āϰ āĻĻā§āĻāĻŋ āĻŦāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāύāĻžāĻŽ āĻāĻŋāϞ āĻāĻŦāĻ āĻāĻā§āĻāϤāϰ āĻĻā§āĻāĻŋ āĻŦāĻŋāĻā§ āĻĒāϤāĻžāĻāĻž āĻāĻŋāϞ)āĨ¤ āĻŦāĻŋāώāϝāĻŧāĻāĻž āĻāĻŋāύā§āύāĨ¤ āĻā§āĻ āĻāĻŋ āĻŦā§āĻā§ āĻā§āύ āĻāĻ āϏāĻŦ āĻŦāĻžāϏā§āϤāĻŦā§? āĻāĻāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻŽāϧā§āϝ⧠āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ?.. āĻ
āϏā§āĻŦāĻŋāϧāĻžāϰ āϏāĻžāĻĨā§, āĻāĻŋāύā§āϤ⧠āĻā§āĻ āĻāĻŋāĻā§ āϏā§āĻŦāĻŋāϧāĻž āĻāϞā§āĻĒāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝāĻĻāĻŋ āĻāĻāĻāύ āĻŦā§āϝāĻā§āϤāĻŋ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻāϝāĻŧā§ āύāĻŋāϝā§āĻā§āϤ āĻĨāĻžāĻā§, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāύā§āĻāĻžāϰā§āĻā§āĻāĻŋāĻ āĻŽā§āĻĄā§ - āϏāĻžāϰā§āĻāĻžāϰāĻā§ āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰā§āύ āĻāĻŋ āĻāĻŦāĻ āĻāĻŋāĻāĻžāĻŦā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻāĻžāύ⧠āĻ
āύā§āϰā§āϧ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧ āϰāĻžāĻāύā§āĻĄ āĻā§āϰāĻŋāĻĒ.
āĻāĻāĻŋ āĻ āύā§āϏāϰāĻŖ āĻāϰ⧠āϝ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāĻā§āώāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŦāĻ āĻŦāĻžāϰā§āϤāĻž āĻĒāĻžāĻ āĻžāϤ⧠āĻšāĻŦā§ āύāĻž, āϤāĻŦā§ āϤāĻžāĻĻā§āϰ āϏāĻŽā§āĻĒāϰā§āĻā§, āϤāĻžāĻĻā§āϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāϰā§āĻā§, āĻ āĻāĻžāύāĻž āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻĄā§āĻāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāϰ āϏāĻŽāϝāĻŧ āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻĒā§āϰāϝā§āĻā§āϝāϤāĻž āĻŦāϰā§āĻŖāύāĻž āĻāϰ⧠āύāĻžāĨ¤ āĻā§āύ āĻāĻĒāĻžāϝāĻŧ. āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻļā§āĻāϰā§āϝāĻāύāĻ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ āϝ⧠āϤāĻžāϰāĻž āĻāϏāϞ⧠āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ āĻā§āĻĄā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ! āϏā§āĻĒāώā§āĻāϤāĻ āϤāĻžāĻĻā§āϰ āĻāĻŽāύ āĻāĻŋāĻā§ āĻŦāϞāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ āϝāĻž āĻĒāĻžāĻŦāϞāĻŋāĻ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ⧠āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāĻŋāϞ āύāĻžāĨ¤ āĻā§āĻĄ āĻĨā§āĻā§ āĻŦā§āĻā§ āύāĻŋāύ āĻā§āύ, āĻāĻŋāĻāϞ-āĻāϰ āĻā§āώā§āϤā§āϰ⧠āĻāϰ āϤāϤāĻāĻž āϏāĻšāĻ āύāϝāĻŧ - āĻāĻāĻŋ āĻāĻāĻāĻŋ (āĻāĻĒā§āĻā§āώāĻŋāĻāĻāĻžāĻŦā§) āϝā§āĻā§āϤāĻŋāĻāĻāĻžāĻŦā§ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻ āĻāĻļ āύāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āĻāĻāĻāĻŋ āĻ āĻāĻļ, āϝā§āĻŽāύ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻā§āĻĄ āĻŦā§āĻāϤ⧠āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻāϰ⧠āϏāĻŽāϝāĻŧ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§.
āĻĒāĻŋāĻ āĻāĻŦāĻ āϏāĻŽāϝāĻŧ. āϏāĻžāϰāĻŋāĨ¤
āϏāĻŦāĻāĻŋāĻā§ āĻĨā§āĻā§, āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ (āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻā§āĻĄāĻŧā§ āĻ āύā§āϰā§āϧā§āϰ āĻŦāĻŋāϤāϰāĻŖ) āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āύā§āĻŽāĻžāύāĻā§āϞāĻŋ āĻŽāύ⧠āϰāĻžāĻāĻŋ āϤāĻŦā§ āĻāĻāĻāĻŋ āĻŦāϰāĻ āĻĻā§āĻāĻāĻāύāĻ āĻŦāĻŋāώāϝāĻŧ āĻ āύā§āϏāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ - TCP-āϤ⧠āϏāĻŽāϏā§āϤ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ āĻĨāĻžāĻāĻž āϏāϤā§āϤā§āĻŦā§āĻ (āĻšāϝāĻŧ āĻĄā§āĻāĻž āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ, āĻŦāĻž āĻāĻĒāύāĻžāĻā§ āĻā§āϝāĻžāĻĒ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āĻŦāĻšāĻŋāϤ āĻāϰāĻž āĻšāĻŦā§, āĻāĻŋāύā§āϤ⧠āϏāĻŽāϏā§āϝāĻž āĻšāĻāϝāĻŧāĻžāϰ āĻāĻā§āĻ āĻĄā§āĻāĻž āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāĻŦā§), āϝā§āĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖ MTProto-āϤ⧠āĻā§āύ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ āύā§āĻ. āϏāĻžāϰā§āĻāĻžāϰ āϏāĻšāĻā§āĻ āĻāĻĒāύāĻžāϰ āĻŦāĻžāϰā§āϤāĻž āĻšāĻžāϰāĻžāϤ⧠āĻŦāĻž āĻĢā§āϞ⧠āĻĻāĻŋāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāĻā§āĻ āĻāϰāĻž āϝāĻžāϝāĻŧ āύāĻž, āĻļā§āϧ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāύā§āϰ āĻā§āϰāĻžāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
āĻāĻŦāĻ āĻĒā§āϰāĻĨāĻŽāϤ - āĻŦāĻžāϰā§āϤāĻž āϏāĻžāϰāĻŋāĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻāĻāĻāĻŋ āĻāĻŋāύāĻŋāϏā§āϰ āϏāĻžāĻĨā§ āϏāĻŦāĻāĻŋāĻā§ āĻĒā§āϰāĻĨāĻŽ āĻĨā§āĻā§āĻ āϏā§āĻĒāώā§āĻ āĻāĻŋāϞ - āĻāĻāĻāĻŋ āĻ āĻĒā§āϰāĻŽāĻžāĻŖāĻŋāϤ āĻŦāĻžāϰā§āϤāĻž āĻ āĻŦāĻļā§āϝāĻ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻŦāĻŋāϰāĻā§āϤ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāϤ⧠āĻāϤāĻā§āώāĻŖ āϏāĻŽāϝāĻŧ āϞāĻžāĻāĻŦā§? āĻāĻŦāĻ āĻŦāĻŋāĻĻā§āϰā§āĻĒāĻāĻžāϰ⧠āϤāĻžāĻā§ āĻā§āύā§āĨ¤ āϏāĻŽā§āĻāĻŦāϤ āϏā§āĻ āĻāϏāĻā§āϤ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋ āĻā§āϰāĻžāĻ āĻĻāĻŋāϝāĻŧā§ āĻāĻ āϏāĻŽāϏā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰā§, āĻŦāϞā§āύ, āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒā§ āĻĒā§āϰāĻžāϝāĻŧ 4āĻāĻŋ āϏāĻžāϰāĻŋ āϰāϝāĻŧā§āĻā§ āϤāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ (āĻšāϝāĻŧāϤ⧠āĻāϰāĻ, āϝā§āĻŽāύāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻāϞā§āϞā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āĻāϰāĻ āĻā§āϰā§āϤā§āĻŦ āϏāĻšāĻāĻžāϰ⧠āĻāϰ āĻā§āĻĄ āĻāĻŦāĻ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻā§ āĻāϰāĻ āĻā§āϰā§āϤā§āĻŦ āϏāĻšāĻāĻžāϰ⧠āĻ āύā§āϏāύā§āϧāĻžāύ āĻāϰāϤ⧠āĻšāĻŦā§; āĻāĻāĻ āϏāĻžāĻĨā§ āϏāĻŽāϝāĻŧ, āĻāĻŽāϰāĻž āĻāĻžāύāĻŋ āϝ⧠āĻāĻāĻŋ āĻāĻāĻāĻŋ āύāĻŽā§āύāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻā§āϰāĻšāĻŖ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻž MTProto āϏā§āĻāĻŋāĻŽ āĻĨā§āĻā§ āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž)āĨ¤
āĻāĻšāĻž āĻāĻŋ āĻāύā§āϝ āĻāĻāĻŋāϤā§āĻā§? āϏāĻŽā§āĻāĻŦāϤ, āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰāϰāĻž āĻā§āϞāĻžāϏā§āĻāĻžāϰā§āϰ āĻŽāϧā§āϝ⧠āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝāϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĻŋ, āĻāĻŽāύāĻāĻŋ āϏāĻžāĻŽāύā§āϰ āĻŦā§āϝāĻžāϞā§āύā§āϏāĻžāϰ⧠āĻŦāĻžāĻĢāĻžāϰāĻŋāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĻŋ āĻāĻŦāĻ āĻāĻ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāĻžāĻā§ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ āĻāϰā§āĻā§āĨ¤ āĻšāϤāĻžāĻļāĻž āĻĨā§āĻā§, āĻā§āϝāĻžāϏāĻŋāϞāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ āĻŦāĻŋāĻāϞā§āĻĒ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāϞā§āύ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĻā§āĻāĻŋ āϏāĻžāϰāĻŋ āĻĻāĻŋāϝāĻŧā§, TCP āĻĨā§āĻā§ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠- āϏāĻžāϰā§āĻāĻžāϰ⧠RTT āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāϰāĻž āĻāĻŦāĻ āĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻ āύā§āϰā§āϧā§āϰ āϏāĻāĻā§āϝāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠"āĻāĻāύā§āĻĄā§" (āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϤā§) āĻāϰ āĻāĻāĻžāϰ āϏāĻžāĻŽāĻā§āĻāϏā§āϝ āĻāϰāĻžāĨ¤ āĻ āϰā§āĻĨāĻžā§, āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϞā§āĻĄā§āϰ āĻŽā§āϞā§āϝāĻžāϝāĻŧāύā§āϰ āĻāύā§āϝ āĻāĻ āϧāϰāύā§āϰ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻšāĻŋāĻāϰāĻŋāϏā§āĻāĻŋāĻ āĻšāϞ āĻāĻŽāĻžāĻĻā§āϰ āĻāϤāĻā§āϞāĻŋ āĻ āύā§āϰā§āϧ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻāĻŋāĻŦāĻžāύ⧠āϝāĻžāϝāĻŧ āĻāĻŦāĻ āĻšāĻžāϰāĻžāύ⧠āϝāĻžāϝāĻŧ āύāĻžāĨ¤
āĻāĻā§āĻāĻž, āϝā§, āĻŦā§āĻāϤ⧠āĻĒāĻžāϰāĻā§āύ, āϤāĻžāĻ āύāĻž? āϝāĻĻāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻŋāϏāĻŋāĻĒāĻŋāϰ āĻāĻĒāϰ⧠āĻāϞāĻŽāĻžāύ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āĻāϞā§āϰ āĻāĻĒāϰ⧠āĻāĻŦāĻžāϰ āĻāĻŋāϏāĻŋāĻĒāĻŋ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāϤ⧠āĻšāϝāĻŧ āϤāĻŦā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻŦ āĻāĻžāϰāĻžāĻĒāĻāĻžāĻŦā§ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻĒā§āϰā§āĻā§āĻāϞ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§āĨ¤
āĻāĻš āĻšā§āϝāĻžāĻ, āĻā§āύ āĻāĻĒāύāĻžāϰ āĻāĻāĻžāϧāĻŋāĻ āϏāĻžāϰāĻŋ āĻĻāϰāĻāĻžāϰ, āĻāĻŦāĻ āϝāĻžāĻāĻšā§āĻ āĻāĻā§āĻ-āϏā§āϤāϰā§āϰ API āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻž āĻāĻāĻāύ āĻŦā§āϝāĻā§āϤāĻŋāϰ āĻāύā§āϝ āĻāϰ āĻ
āϰā§āĻĨ āĻā§? āĻĻā§āĻā§āύ, āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻ
āύā§āϰā§āϧ āĻāϰā§āύ, āĻāĻāĻŋ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞ āĻāϰā§āύ, āĻāĻŋāύā§āϤ⧠āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻĒāύāĻŋ āϤāĻž āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻĒāĻžāĻ āĻžāϤ⧠āĻĒāĻžāϰā§āύ āύāĻžāĨ¤ āĻā§āύ? āĻāĻžāϰāĻŖ āĻāϤā§āϤāϰ āĻšāĻŦā§ msg_id, āϝāĻž āĻ
āϏā§āĻĨāĻžāϝāĻŧā§Đ°āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āϞā§āĻŦā§āϞ, āϝāĻžāϰ āĻ
ā§āϝāĻžāϏāĻžāĻāύāĻŽā§āύā§āĻ āϝāϤāĻāĻž āϏāĻŽā§āĻāĻŦ āĻĻā§āϰ⧠āĻĒāϰā§āϝāύā§āϤ āϏā§āĻĨāĻāĻŋāϤ āĻāϰāĻž āĻāĻžāϞ - āϝāĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŦāĻ āϤāĻžāϰ āĻŽāϧā§āϝ⧠āϏāĻŽāϝāĻŧā§āϰ āĻ
āĻŽāĻŋāϞā§āϰ āĻāĻžāϰāĻŖā§ āϏāĻžāϰā§āĻāĻžāϰ āĻāĻāĻŋ āĻĒā§āϰāϤā§āϝāĻžāĻā§āϝāĻžāύ āĻāϰ⧠(āĻ
āĻŦāĻļā§āϝāĻ, āĻāĻŽāϰāĻž āĻāĻŽāύ āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ āϝāĻž āĻāĻŽāĻžāĻĻā§āϰ āϏāĻŽāϝāĻŧāĻā§ āĻŦāϰā§āϤāĻŽāĻžāύ āĻĨā§āĻā§ āϏāϰāĻŋāϝāĻŧā§ āĻĻā§āϝāĻŧ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻĨā§āĻā§ āĻāĻŖāύāĻž āĻāϰāĻž āĻāĻāĻāĻŋ āĻĄā§āϞā§āĻāĻž āϝā§āĻ āĻāϰ⧠āϏāĻžāϰā§āĻāĻžāϰ⧠- āĻ
āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž āĻāĻāĻŋ āĻāϰā§, āϤāĻŦā§ āĻāĻāĻŋ āĻŦāĻžāĻĢāĻžāϰāĻŋāĻāϝāĻŧā§āϰ āĻāĻžāϰāĻŖā§ āĻ
āĻļā§āϧāĻŋāϤ āĻāĻŦāĻ āĻā§āϞ)āĨ¤ āĻ
āϤāĻāĻŦ, āĻāĻĒāύāĻŋ āϝāĻāύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻĨā§āĻā§ āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻĢāĻžāĻāĻļāύ āĻāϞā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ
āύā§āϰā§āϧ āĻāϰā§āύ, āϤāĻāύ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āϝāĻžāϝāĻŧ:
- āĻāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϰāĻŋāϤ⧠āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύā§āϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻā§ā§ˇ
- āύāĻŋāϝā§āĻā§āϤ
msg_idāĻāĻŦāĻ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻ āύā§āϝ āϏāĻžāϰāĻŋāϤ⧠āĻāϞ⧠āĻā§āĻā§ - āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻĢāϰāĻāϝāĻŧāĻžāϰā§āĻĄāĻŋāĻ; āϏāĻā§āĻā§ āĻĒāĻžāĻ āĻžāύāĨ¤ - āĻ) āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ MsgsAck āĻāϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻŋāϝāĻŧā§āĻā§ - āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āĻāĻŽāϰāĻž āĻāĻāĻŋāĻā§ "āĻ
āύā§āϝāĻžāύā§āϝ āϏāĻžāϰāĻŋ" āĻĨā§āĻā§ āĻŽā§āĻā§ āĻĢā§āϞāĻŋ⧎
āĻ) āĻ āĻĨāĻŦāĻž āĻŦāĻŋāĻĒāϰā§āϤāĻāĻžāĻŦā§, āϤāĻŋāύāĻŋ āĻāĻŋāĻā§ āĻĒāĻāύā§āĻĻ āĻāϰā§āύāύāĻŋ, āϤāĻŋāύāĻŋ āĻŦā§āϝāĻžāĻĄāĻāĻŽāĻāϏāĻāĻŋ-āĻāϰ āĻāϤā§āϤāϰ āĻĻāĻŋāϝāĻŧā§āĻā§āύ - "āĻ āύā§āϝ āϏāĻžāϰāĻŋ" āĻĨā§āĻā§ āĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāύ
āĻ) āĻāĻŋāĻā§āĻ āĻāĻžāύāĻž āύā§āĻ, āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻ āύā§āϝ āϏāĻžāϰāĻŋ āĻĨā§āĻā§ āϰāĻŋāϏā§āύā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ - āϤāĻŦā§ āĻāĻāύ āϤāĻž āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāύāĻž āϝāĻžāϝāĻŧāύāĻŋāĨ¤ - āϏāĻžāϰā§āĻāĻžāϰ āĻ
āĻŦāĻļā§āώ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž
RpcResult- āĻĒā§āϰāĻā§āϤ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž (āĻŦāĻž āϤā§āϰā§āĻāĻŋ) - āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž, āĻāĻŋāύā§āϤ⧠āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻšāϝāĻŧāϤā§, āĻĒāĻžāϤā§āϰ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻāĻļāĻŋāĻāĻāĻžāĻŦā§ āϏāĻŽāϏā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§. āĻāĻāĻŋ āϤāĻāύāĻ āĻšāϝāĻŧ āϝāĻāύ āĻāĻāĻā§āĻā§āĻ āĻŦāĻžāϰā§āϤāĻž āĻāĻāĻāĻŋāϤ⧠āĻĒā§āϝāĻžāĻ āĻāϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ āĻāĻāϝā§āĻā§ āϤāĻžāĻĻā§āϰ āϏāĻāϞā§āϰ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϝāĻŧ msg_id. āĻāĻŋāύā§āϤ⧠āϤāĻŋāύāĻŋ āĻāĻ āĻĒā§āϝāĻžāĻāĻāĻŋāĻā§āĻ āĻĒā§āϰāϤā§āϝāĻžāĻā§āϝāĻžāύ āĻāϰāĻŦā§āύ, āϝāĻĻāĻŋ āĻāĻŋāĻā§ āĻā§āϞ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧ, āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§āĨ¤
āĻāĻŦāĻ āĻāĻ āĻŽā§āĻšā§āϰā§āϤ⧠āĻ -āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻŦāĻŋāĻŦā§āĻāύāĻžāĻā§āϞāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻšāϝāĻŧāĨ¤ āĻ āĻāĻŋāĻā§āĻāϤāĻž āĻĨā§āĻā§, āĻāĻŽāϰāĻž āĻ āύā§āĻ āĻā§āϰāĻžāĻ āĻĻā§āĻā§āĻāĻŋ, āĻāĻŦāĻ āĻāĻĒāϰāύā§āϤā§, āĻāĻŽāϰāĻž āĻāĻāύ āĻāĻžāϰāĻžāĻĒ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻāĻŦāĻ āϏā§āĻĨāĻžāĻĒāϤā§āϝā§āϰ āĻāϰāĻ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦ - āĻāĻ āϧāϰāύā§āϰ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤā§, āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāĻž āĻāĻŦāĻ āĻāĻ āϧāϰāύā§āϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύā§āĻāϝāĻŧāĻž āĻāĻŋ āĻŽā§āϞā§āϝāĻŦāĻžāύ? āĻĒā§āϰāĻļā§āύāĻāĻŋ āĻ āϞāĻā§āĻā§āϤ (āĻ āĻŦāĻļā§āϝāĻ āύāϝāĻŧ)āĨ¤
āĻāĻŽāϰāĻž āĻāĻŋ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻĨāĻž āĻŦāϞāĻāĻŋ? āϝāĻĻāĻŋ "āĻŽā§āϏā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāώā§āϧā§āϰ āĻŦāĻžāϰā§āϤāĻž" āĻāϰ āĻŦāĻŋāώāϝāĻŧā§ āĻāĻĒāύāĻŋ āĻāĻāύāĻ āĻāĻĒāϤā§āϤāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āϝā§āĻŽāύ "āĻāĻĒāύāĻŋ āĻŦā§āĻāĻž, āĻāĻĒāύāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ āĻĒāϰāĻŋāĻāϞā§āĻĒāύāĻž āĻŦā§āĻāϤ⧠āĻĒāĻžāϰā§āύāύāĻŋ!" (āϏā§āϤāϰāĻžāĻ āĻāĻā§ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϞāĻŋāĻā§āύ, āϝā§āĻŽāύ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻŽāĻžāύā§āώā§āϰ āĻāĻāĻŋāϤ, āϝā§āĻā§āϤāĻŋ āĻāĻŦāĻ āĻĒā§āϝāĻžāĻā§āĻ āĻāĻā§āϏāĻā§āĻā§āĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ āϏāĻš, āϤāĻžāϰāĻĒāϰ āĻāĻŽāϰāĻž āĻāĻĨāĻž āĻŦāϞāĻŦ), āϤāĻžāϰāĻĒāϰ āϏāĻŽāϝāĻŧ/āĻāĻžāĻāĻŽāĻāĻāĻ āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻāĻŦāĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒā§āϰāĻļā§āύ, āĻāĻāĻžāύ⧠āϏāĻŦāĻāĻŋāĻā§ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻĒāϰāĻŋāĻāĻŋāϤāĨ¤ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻžāĻāĻŽāĻāĻāĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻā§ āĻŦāϞā§?
āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻāĻŋ RPC āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ (āϏāĻžāϧāĻžāϰāĻŖāϤ, āĻāĻāĻāĻŋ RPC āĻā§āϝā§āϝāĻŧāĻžāϰā§) āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϰ āĻĒā§āϰāĻžāĻĒā§āϤāĻŋ āϏā§āĻŦā§āĻāĻžāϰ āĻāϰā§āĨ¤ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻāϏā§, āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āĻĒā§āϰāĻĨāĻŽā§ āĻāĻāĻāĻŋ āϰāϏāĻŋāĻĻ āϏā§āĻŦā§āĻā§āϤāĻŋ āĻĒāĻžāĻ āĻžāϤ⧠āĻĒāĻžāϰā§, āĻāĻŦāĻ āĻāĻŋāĻā§āĻāĻž āĻĒāϰā§, RPC āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āύāĻŋāĻā§āĻāĨ¤
āĻāĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϰ āĻĒā§āϰāĻžāĻĒā§āϤāĻŋ āϏā§āĻŦā§āĻāĻžāϰ āĻāϰ⧠(āϏāĻžāϧāĻžāϰāĻŖāϤ, āĻāĻāĻāĻŋ RPC āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž) āĻĒāϰāĻŦāϰā§āϤ⧠RPC āĻā§āϝāĻŧā§āϰāĻŋāϤ⧠āĻāĻāĻāĻŋ āϏā§āĻŦā§āĻā§āϤāĻŋ āϝā§āĻ āĻāϰ⧠āϝāĻĻāĻŋ āĻāĻāĻŋ āĻā§āĻŦ āĻĻā§āϰāĻŋ āύāĻž āĻšāϝāĻŧ (āϝāĻĻāĻŋ āĻāĻāĻŋ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āĻŦāϞā§āύ, āĻĒā§āϰāĻžāĻĒā§āϤāĻŋāϰ 60-120 āϏā§āĻā§āύā§āĻĄ āĻĒāϰā§) āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϰ)āĨ¤ āϝāĻžāĻāĻšā§āĻ, āϝāĻĻāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻŦāĻžāϰā§āϤāĻž āĻĒāĻžāĻ āĻžāύā§āϰ āĻā§āύ āĻāĻžāϰāĻŖ āύāĻž āĻĨāĻžāĻā§ āĻŦāĻž āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻĒā§āϰāĻā§āϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖā§ āĻ āϏā§āĻŦā§āĻā§āϤ āĻŦāĻžāϰā§āϤāĻž āĻĨāĻžāĻā§ (āĻŦāϞā§āύ, 16-āĻāϰ āĻŦā§āĻļāĻŋ), āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻāĻāĻŋ āϏā§āĻŦāϤāύā§āϤā§āϰ āϏā§āĻŦā§āĻā§āϤāĻŋ āĻĒā§āϰā§āϰāĻŖ āĻāϰā§āĨ¤
... āĻāĻŽāĻŋ āĻ āύā§āĻŦāĻžāĻĻ āĻāϰāĻŋ: āĻāĻŽāϰāĻž āύāĻŋāĻā§āϰāĻžāĻ āĻāĻžāύāĻŋ āύāĻž āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻŋ āĻāϤāĻāĻž āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻĒā§āϰāϝāĻŧā§āĻāύ, āϤāĻžāĻ āϧāϰ⧠āύāĻŋāĻ āϝ⧠āĻāĻāĻŋ āĻāĻŽāύ āĻšāϤ⧠āĻĻāĻŋāύāĨ¤
āĻāĻŦāĻ āĻĒāĻŋāĻāϏ āϏāĻŽā§āĻĒāϰā§āĻā§:
āĻĒāĻŋāĻ āĻŦāĻžāϰā§āϤāĻž (PING/PONG)
ping#7abe77ec ping_id:long = Pong;āĻāĻāĻāĻŋ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻ āϏāĻāϝā§āĻā§ āĻĢāĻŋāϰ⧠āĻāϏā§:
pong#347773c5 msg_id:long ping_id:long = Pong;āĻāĻ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āϏā§āĻŦā§āĻā§āϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻāĨ¤ āĻāĻāĻāĻŋ āĻĒāĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻĒāĻŋāĻ āĻāϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰā§āϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ āϝāĻāύ āĻāĻāĻāĻŋ āĻĒāĻŋāĻ āĻāĻāϝāĻŧ āĻĒāĻā§āώā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āĻļā§āϰ⧠āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻŦāĻŋāϞāĻŽā§āĻŦāĻŋāϤ āϏāĻāϝā§āĻ āĻŦāύā§āϧ + PING
ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong;āĻĒāĻŋāĻ āĻāϰ āĻŽāϤ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻāĻĒāϰāύā§āϤā§, āĻāĻāĻŋ āĻĒā§āϰāĻžāĻĒā§āϤāĻŋāϰ āĻĒāϰā§, āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻžāϰ āĻļā§āϰ⧠āĻāϰ⧠āϝāĻž āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻāϝā§āĻāĻāĻŋ āĻŦāύā§āϧ āĻāϰ⧠āĻĻā§āĻŦā§ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ_āĻŦāĻŋāĻā§āĻā§āĻĻ āϏā§āĻā§āύā§āĻĄ āĻĒāϰ⧠āϝāĻĻāĻŋ āύāĻž āĻāĻāĻŋ āĻāĻāĻ āϧāϰāĻŖā§āϰ āĻāĻāĻāĻŋ āύāϤā§āύ āĻŦāĻžāϰā§āϤāĻž āύāĻž āĻĒāĻžāϝāĻŧ āϝāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏāĻŽāϏā§āϤ āĻāĻžāĻāĻŽāĻžāϰ āĻĒā§āύāϰāĻžāϝāĻŧ āϏā§āĻ āĻāϰā§āĨ¤ āϝāĻĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĒā§āϰāϤāĻŋ 60 āϏā§āĻā§āύā§āĻĄā§ āĻāĻāĻŦāĻžāϰ āĻāĻ āĻĒāĻŋāĻāĻā§āϞāĻŋ āĻĒāĻžāĻ āĻžāϝāĻŧ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻŋ 75 āϏā§āĻā§āύā§āĻĄā§āϰ āϏāĻŽāĻžāύ disconnect_delay āϏā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
āϤā§āĻŽāĻŋ āĻāĻŋ āĻĒāĻžāĻāϞ?! 60 āϏā§āĻā§āύā§āĻĄā§āϰ āĻŽāϧā§āϝā§, āĻā§āϰā§āύāĻāĻŋ āϏā§āĻā§āĻļāύ⧠āĻĒā§āϰāĻŦā§āĻļ āĻāϰāĻŦā§, āύāĻžāĻŽāĻŦā§ āĻāĻŦāĻ āϝāĻžāϤā§āϰā§āĻĻā§āϰ āϤā§āϞ⧠āύā§āĻŦā§ āĻāĻŦāĻ āĻāĻŦāĻžāϰ āĻāĻžāύā§āϞ⧠āϝā§āĻāĻžāϝā§āĻ āĻšāĻžāϰāĻŋāϝāĻŧā§ āĻĢā§āϞāĻŦā§āĨ¤ 120 āϏā§āĻā§āύā§āĻĄā§āϰ āĻŽāϧā§āϝā§, āϝāĻāύ āĻāĻĒāύāĻŋ āĻāĻāĻŋ āĻļā§āύāϤ⧠āĻĒāĻžāĻŦā§āύ, āĻāĻāĻŋ āĻ āύā§āϝ āĻāĻāĻāĻŋāϤ⧠āĻĒā§āĻāĻāĻžāĻŦā§ āĻāĻŦāĻ āϏāĻŽā§āĻāĻŦāϤ āϏāĻāϝā§āĻāĻāĻŋ āĻā§āĻā§ āϝāĻžāĻŦā§āĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻāĻāĻž āϏā§āĻĒāώā§āĻ āϝ⧠āĻĒāĻž āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻāϏāĻā§ - "āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āϰāĻŋāĻ āĻļā§āύā§āĻāĻŋ, āĻāĻŋāύā§āϤ⧠āĻāĻžāύāĻŋ āύāĻž āĻāĻāĻŋ āĻā§āĻĨāĻžāϝāĻŧ", āϏā§āĻāĻžāύ⧠Nagl āĻāϰ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻāĻŦāĻ TCP_NODELAY āĻŦāĻŋāĻāϞā§āĻĒ āϰāϝāĻŧā§āĻā§, āĻāύā§āĻāĻžāϰā§āĻā§āĻāĻŋāĻ āĻāĻžāĻā§āϰ āĻāĻĻā§āĻĻā§āĻļā§āϝā§āĨ¤ āĻāĻŋāύā§āϤā§, āĻā§āώāĻŽāĻž āĻāϰāĻŦā§āύ, āĻāϰ āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύ - 200 āϧāϰ⧠āϰāĻžāĻā§āύ āĻŽāĻŋāϞā§āϞāĻŋāϏā§āĻā§āύā§āĻĄ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āϏāϤā§āϝāĻŋāĻ āĻ āύā§āϰā§āĻĒ āĻāĻŋāĻā§ āĻāĻŋāϤā§āϰāĻŋāϤ āĻāϰāϤ⧠āĻāĻžāύ āĻāĻŦāĻ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĒā§āϝāĻžāĻā§āĻā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻāĻžāύ, āϤāĻžāĻšāϞ⧠āĻāĻāĻŋ 5 āϏā§āĻā§āύā§āĻĄā§āϰ āĻāύā§āϝ āĻŦāύā§āϧ āϰāĻžāĻā§āύ, āĻŦāĻž "āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻžāĻāĻĒ āĻāϰāĻā§āύ..." āĻŽā§āϏā§āĻ āĻāĻžāĻāĻŽāĻāĻāĻ āĻāĻāύāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāϰ āύāĻž.
āĻāĻŦāĻ āĻ āĻŦāĻļā§āώā§, pings. āĻ āϰā§āĻĨāĻžā§, TCP āϏāĻāϝā§āĻā§āϰ āĻā§āĻŦāύā§āϤāϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻāĻž āĻŽāĻāĻžāϰ, āĻāĻŋāύā§āϤ⧠āĻĒā§āϰāĻžāϝāĻŧ 10 āĻŦāĻāϰ āĻāĻā§ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻ āύā§āώāĻĻā§āϰ āĻĄāϰā§āĻŽā§āϰ āĻŽā§āϏā§āĻā§āĻāĻžāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻāĻŋ āϏāĻŽāĻžāϞā§āĻāύāĻžāĻŽā§āϞāĻ āĻĒāĻžāĻ ā§āϝ āϞāĻŋāĻā§āĻāĻŋāϞāĻžāĻŽ - āϏā§āĻāĻžāύāĻāĻžāϰ āϞā§āĻāĻāϰāĻžāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĨā§āĻā§ āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻĒāĻŋāĻ āĻāϰā§āĻā§āύ, āĻāĻŦāĻ āĻŦāĻŋāĻĒāϰā§āϤ⧠āύāϝāĻŧāĨ¤ āĻāĻŋāύā§āϤ⧠3āϝāĻŧ āĻŦāϰā§āώā§āϰ āĻļāĻŋāĻā§āώāĻžāϰā§āĻĨā§āϰāĻž āĻāĻ āĻāĻŋāύāĻŋāϏ, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāύā§āϤāϰā§āĻāĻžāϤāĻŋāĻ āĻ āĻĢāĻŋāϏ āĻ āύā§āϝ āĻāĻŋāύāĻŋāϏ, āϤāĻžāĻ āύāĻž?
āĻĒā§āϰāĻĨāĻŽāϤ, āĻāĻāĻā§ āĻļāĻŋāĻā§āώāĻžāĻŽā§āϞāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĨ¤ āĻāĻāĻāĻŋ TCP āϏāĻāϝā§āĻ, āĻĒā§āϝāĻžāĻā§āĻ āĻāĻā§āϏāĻā§āĻā§āĻā§āϰ āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤāĻŋāϤā§, āĻāϝāĻŧā§āĻ āϏāĻĒā§āϤāĻžāĻš āĻŦā§āĻāĻā§ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻĻā§āĻĻā§āĻļā§āϝā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āĻāĻžāϞ āĻāĻŦāĻ āĻāĻžāϰāĻžāĻĒ āĻāĻāϝāĻŧāĻāĨ¤ āĻāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻāĻāĻŋ SSH āϏāĻāϝā§āĻ āĻā§āϞāĻž āĻĨāĻžāĻā§ āϤāĻŦā§ āĻāĻāĻŋ āĻāĻžāϞ, āĻāĻĒāύāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āĻĨā§āĻā§ āĻāĻ ā§āĻāĻŋāϞā§āύ, āϰāĻžāĻāĻāĻžāϰāĻāĻŋ āϰāĻŋāĻŦā§āĻ āĻāϰā§āĻā§āύ, āĻāĻĒāύāĻžāϰ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻĢāĻŋāϰ⧠āĻāϏā§āĻā§āύ - āĻāĻ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏā§āĻļāύāĻāĻŋ āĻāĻŋāĻāĻĄāĻŧā§ āϝāĻžāϝāĻŧāύāĻŋ (āĻāĻĒāύāĻŋ āĻāĻŋāĻā§ āĻāĻžāĻāĻĒ āĻāϰā§āύāύāĻŋ, āĻā§āύāĻ āĻĒā§āϝāĻžāĻā§āĻ āĻāĻŋāϞ āύāĻž) , āĻāĻāĻž āϏā§āĻŦāĻŋāϧāĻžāĻāύāĻ. āĻāĻāĻž āĻāĻžāϰāĻžāĻĒ āϝāĻĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻšāĻžāĻāĻžāϰ āĻšāĻžāĻāĻžāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĨāĻžāĻā§, āĻĒā§āϰāϤā§āϝā§āĻā§ āϰāĻŋāϏā§āϰā§āϏ āĻā§āϰāĻšāĻŖ āĻāϰ⧠(āĻšā§āϝāĻžāϞā§, āĻĒā§āϏā§āĻāĻā§āϰā§āϏ!), āĻāĻŦāĻ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻšā§āϏā§āĻ āĻ āύā§āĻ āĻāĻā§ āϰāĻŋāĻŦā§āĻ āĻšāϝāĻŧā§ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰ⧠- āĻāĻŋāύā§āϤ⧠āĻāĻŽāϰāĻž āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻžāύāĻŦ āύāĻžāĨ¤
āĻā§āϝāĻžāĻ/āĻāĻāĻāĻŽ āϏāĻŋāϏā§āĻā§āĻŽāĻā§āϞāĻŋ āĻāĻāĻāĻŋ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻžāϰāĻŖā§ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻā§āώā§āϤā§āϰ⧠āĻĒāĻĄāĻŧā§ - āĻ āύāϞāĻžāĻāύ āϏā§āĻā§āϝāĻžāĻāĻžāϏ⧎ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϝāĻĻāĻŋ "āĻĒāĻĄāĻŧā§ āĻĒāĻĄāĻŧā§" āϤāĻŦā§ āĻāĻĒāύāĻžāĻā§ āϤāĻžāϰ āĻāĻĨā§āĻĒāĻāĻĨāύāĻā§ āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āĻŦāĻšāĻŋāϤ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻ āύā§āϝāĻĨāĻžāϝāĻŧ, āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻļā§āώ āĻšāĻŦā§āύ āϝāĻž āĻāĻžāĻŦā§āĻŦāĻžāϰā§āϰ āύāĻŋāϰā§āĻŽāĻžāϤāĻžāϰāĻž āĻāϰā§āĻā§āύ (āĻāĻŦāĻ 20 āĻŦāĻāϰ āϧāϰ⧠āϏāĻāĻļā§āϧāύ āĻāϰā§āĻā§āύ) - āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϏāĻāϝā§āĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻāϰā§āĻā§, āĻāĻŋāύā§āϤ⧠āϤāĻžāϰāĻž āϤāĻžāĻā§ āĻŦāĻžāϰā§āϤāĻž āϞāĻŋāĻāϤ⧠āĻĨāĻžāĻā§, āĻāĻ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰ⧠āϝ⧠āϏ⧠āĻ āύāϞāĻžāĻāύ⧠āϰāϝāĻŧā§āĻā§ (āĻāĻā§āϞāĻŋāĻ āϏāĻŽā§āĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§ āĻšāĻžāϰāĻŋāϝāĻŧā§ āĻā§āĻā§) āϏāĻāϝā§āĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻšāĻāϝāĻŧāĻžāϰ āĻāϝāĻŧā§āĻ āĻŽāĻŋāύāĻŋāĻ āĻāĻā§)āĨ¤ āύāĻž, TCP_KEEPALIVE āĻŦāĻŋāĻāϞā§āĻĒāĻāĻŋ, āϝāĻž āĻ āύā§āĻ āϞā§āĻ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰ⧠āύāĻž āϝ⧠TCP āĻāĻžāĻāĻŽāĻžāϰāĻā§āϞāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāϞā§āĻŽā§āϞā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰ⧠(āϏā§āĻā§āύā§āĻĄā§āϰ āĻĻāĻļā§āϰ āĻŽāϤ⧠āĻŦāύā§āϝ āĻŽāĻžāύ āϏā§āĻ āĻāϰā§), āĻāĻāĻžāύ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāĻŦā§ āύāĻž - āĻāĻĒāύāĻžāĻā§ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠āĻšāĻŦā§ āϝ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ OS āĻāĻžāϰā§āύā§āϞ āύāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻŽā§āĻļāĻŋāύāĻāĻŋ āĻā§āĻŦāĻŋāϤ, āĻāĻŋāύā§āϤ⧠āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§, āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϤ⧠āϏāĻā§āώāĻŽ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋ āύāĻŋāĻā§āĻ (āĻāĻĒāύāĻŋ āĻāĻŋ āĻŽāύ⧠āĻāϰā§āύ āĻāĻāĻŋ āĻšāĻŋāĻŽāĻžāϝāĻŧāĻŋāϤ āĻšāϤ⧠āĻĒāĻžāϰ⧠āύāĻž? āĻāĻŦā§āύā§āĻā§ 18.04-āĻ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĄā§āϏā§āĻāĻāĻĒ āĻāĻŽāĻžāϰ āĻāύā§āϝ āĻāĻāĻžāϧāĻŋāĻāĻŦāĻžāϰ āύāĻŋāĻĨāϰ āĻšāϝāĻŧā§ āĻā§āĻā§)āĨ¤
āĻāĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āĻĒāĻŋāĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϏāĻžāϰā§āĻāĻžāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ, āĻāĻŦāĻ āϤāĻĻā§āĻŦāĻŋāĻĒāϰā§āϤ āύāĻž - āϝāĻĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻāĻŋ āĻāϰā§, āϝāĻĻāĻŋ āϏāĻāϝā§āĻāĻāĻŋ āĻā§āĻā§ āϝāĻžāϝāĻŧ, āĻĒāĻŋāĻ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāĻŦā§ āύāĻž, āϞāĻā§āώā§āϝ āĻ āϰā§āĻāύ āĻāϰāĻž āĻšāĻŦā§ āύāĻžāĨ¤
āĻāĻŽāϰāĻž āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§ āĻāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻā§āĻāĻŋ? āĻāĻāĻž āĻ āĻŋāĻ āĻāϞā§āĻā§! āĻāĻžāϞ, āϝā§. āĻāύā§āώā§āĻ āĻžāύāĻŋāĻāĻāĻžāĻŦā§, āĻ
āĻŦāĻļā§āϝāĻ, āĻāĻāϝāĻŧ āĻĒāĻā§āώ āĻāĻā§ āĻ
āĻĒāϰāĻā§ āĻĒāĻŋāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻ
āύā§āĻļā§āϞāύā§, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠ping_delay_disconnect, āϝāĻž āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻžāĻāĻŽāĻžāϰ āϏā§āĻ āĻāϰā§āĨ¤ āĻāĻā§āĻāĻž, āĻŽāĻžāĻĢ āĻāϰāĻŦā§āύ, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āύāĻž āϝ⧠āϏ⧠āϏā§āĻāĻžāύ⧠āĻāϤāĻĻāĻŋāύ āĻĒāĻŋāĻ āĻāĻžāĻĄāĻŧāĻž āĻĨāĻžāĻāϤ⧠āĻāĻžāϝāĻŧāĨ¤ āϏāĻžāϰā§āĻāĻžāϰ, āϤāĻžāϰ āϞā§āĻĄ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰā§, āĻāĻžāϞ āĻāĻžāύā§. āϤāĻŦā§, āĻ
āĻŦāĻļā§āϝāĻ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āϏāĻāϏā§āĻĨāĻžāύāĻā§āϞāĻŋāϤ⧠āĻāĻŋāĻā§ āĻŽāύ⧠āύāĻž āĻāϰā§āύ āϤāĻŦā§ āĻāĻĒāύāĻŋ āύāĻŋāĻā§āϰ āĻŽāύā§āĻĻ āĻĒāĻŋāύā§āĻāĻŋāĻ āĻšāĻŦā§āύ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻ āĻāϰāĻŦā§ ...
āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻāĻāĻŋāϤ āĻāĻŋāϞ?
āĻāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāĻŋ āϝ⧠āĻāĻĒāϰā§āϰ āϤāĻĨā§āϝāĻā§āϞāĻŋ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āϝ⧠āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ/āĻāĻŋāĻāύā§āĻāĻžāĻā§āĻā§ āĻāĻŋāĻŽ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻā§āϰ āĻĒāϰāĻŋāĻŦāĻšāĻŖ (āĻāĻŦāĻ āύāĻŋāĻŽā§āύāϤāϰ) āϏā§āϤāϰā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻŦāĻ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ āĻŦāĻŋāώāϝāĻŧā§ āϤāĻžāĻĻā§āϰ āύāĻŋāĻŽā§āύ āϝā§āĻā§āϝāϤāĻžāϰ āĻā§āώā§āϤā§āϰ⧠āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻĻāĻā§āώ āύāϝāĻŧāĨ¤
āĻā§āύ āĻāĻāĻŋ āĻāϤ āĻāĻāĻŋāϞ āĻšāϝāĻŧā§ āĻāĻ āϞ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āϏā§āĻĨāĻĒāϤāĻŋāϰāĻž āĻāĻĒāϤā§āϤāĻŋ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ? āϏāϤā§āϝ āϝ⧠āϤāĻžāϰāĻž āĻāĻāĻāĻŋ āϏā§āĻļāύ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāϞ āϝāĻž āĻāĻŋāϏāĻŋāĻĒāĻŋ āϏāĻāϝā§āĻ āĻŦāĻŋāϰāϤāĻŋ āĻĨā§āĻā§ āĻŦā§āĻāĻā§ āϝāĻžāϝāĻŧ, āĻ āϰā§āĻĨāĻžāϤ⧠āϝāĻž āĻāĻāύ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋ, āĻāĻŽāϰāĻž āĻĒāϰ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻŦāĨ¤ āϤāĻžāϰāĻž āϏāĻŽā§āĻāĻŦāϤ āĻāĻāĻāĻŋ UDP āĻĒāϰāĻŋāĻŦāĻšāύ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻžāĻ āĻāϰā§āĻāĻŋāϞ, āĻāĻŋāύā§āϤ⧠āϤāĻžāϰāĻž āĻ āϏā§āĻŦāĻŋāϧāĻžāϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāϝāĻŧā§āĻāĻŋāϞ āĻāĻŦāĻ āĻāĻāĻŋ āĻĒāϰāĻŋāϤā§āϝāĻžāĻ āĻāϰā§āĻāĻŋāϞ (āϤāĻžāĻ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύāĻāĻŋ āĻāĻžāϞāĻŋ - āĻāϤ⧠āĻŦāĻĄāĻŧāĻžāĻ āĻāϰāĻžāϰ āĻāĻŋāĻā§āĻ āĻāĻŋāϞ āύāĻž)āĨ¤ āĻāĻŋāύā§āϤ⧠āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻā§āĻāĻžāĻŦā§ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻāĻŦāĻ āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻāĻŋāϏāĻŋāĻĒāĻŋ āĻāĻžāĻ āĻāϰā§, āĻā§āĻĨāĻžāϝāĻŧ āĻāĻĒāύāĻŋ āĻāĻāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āĻāĻŦāĻ āĻā§āĻĨāĻžāϝāĻŧ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āύāĻŋāĻā§ āĻāϰāϤ⧠āĻšāĻŦā§ (āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§) āĻŦā§āĻāĻžāϰ āĻ āĻāĻžāĻŦā§āϰ āĻāĻžāϰāĻŖā§ āĻāĻŦāĻ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻāĻŋāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻā§āώā§āĻāĻž âāĻĻā§āĻ āĻĒāĻžāĻāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻ āĻĒāĻžāĻĨāϰâ, āĻāĻāĻžāĻ āĻĢāϞāĻžāĻĢāϞāĨ¤
āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŋāϞ? āĻāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠msg_id āϰāĻŋāĻĒā§āϞ⧠āĻāĻā§āϰāĻŽāĻŖ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāĻ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ, āĻāĻāĻŋāϤ⧠āĻāĻāĻāĻŋ āĻ
āύāύā§āϝ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āĻĢāĻžāĻāĻļāύ āϏāĻāϝā§āĻā§āϤ āĻāϰāĻž āĻāĻāĻāĻŋ āĻā§āϞāĨ¤ āĻ
āϤāĻāĻŦ, āĻŦāϰā§āϤāĻŽāĻžāύ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻā§ āĻŽā§āϞāĻŋāĻāĻāĻžāĻŦā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āύāĻž āĻāϰ⧠(āϝāĻāύ āĻāĻĒāĻĄā§āĻ āϏā§āĻā§āϰā§āĻŽ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻāĻŋ āĻĒā§āϏā§āĻā§āϰ āĻāĻ āϏāĻŋāϰāĻŋāĻā§āϰ āĻ
āύā§āϝ āĻ
āĻāĻļā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻā§āĻ-āϏā§āϤāϰā§āϰ API āĻŦāĻŋāώāϝāĻŧ), āĻāĻāĻāύā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§:
- āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āϏāĻžāĻĨā§ TCP āϏāĻāϝā§āĻ āϧāĻžāϰāĻŖāĻāĻžāϰ⧠āϏāĻžāϰā§āĻāĻžāϰ āĻĻāĻžāϝāĻŧāĻŋāϤā§āĻŦ āύā§āϝāĻŧ - āϝāĻĻāĻŋ āĻāĻāĻŋ āϏāĻā§āĻ āĻĨā§āĻā§ āĻĒāĻĄāĻŧā§ āĻĨāĻžāĻā§, āϤāĻžāĻšāϞ⧠āĻ āύā§āĻā§āϰāĻš āĻāϰ⧠āϏā§āĻŦā§āĻāĻžāϰ āĻāϰā§āύ, āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰā§āύ āĻŦāĻž āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻĢā§āϰāϤ āĻĻāĻŋāύ, āĻā§āύ āĻā§āώāϤāĻŋ āĻšāĻŦā§ āύāĻžāĨ¤ āϤāĻžāϰāĻĒāϰ āύāĻŋāĻļā§āĻāĻŋāϤāĻāϰāĻŖāĻāĻŋ āĻāĻāĻĄāĻŋāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āĻā§āĻā§āĻāϰ āύāϝāĻŧ, āϤāĻŦā§ āĻā§āĻŦāϞāĻŽāĻžāϤā§āϰ "āĻļā§āώ āĻĒā§āϰāĻžāĻĒā§āϤ seq_no" - āĻļā§āϧ⧠āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻž, āϝā§āĻŽāύ TCP (āĻĻā§āĻāĻŋ āϏāĻāĻā§āϝāĻž - āĻāĻĒāύāĻžāϰ seq āĻāĻŦāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻšāĻāϝāĻŧāĻž)āĨ¤ āĻāĻŽāϰāĻž āϏāĻŦāϏāĻŽāϝāĻŧ āĻ āϧāĻŋāĻŦā§āĻļāύā§āϰ āĻŽāϧā§āϝ⧠āĻĨāĻžāĻāĻŋ, āϤāĻžāĻ āύāĻž?
- āϰāĻŋāĻĒā§āϞ⧠āĻāĻā§āϰāĻŽāĻŖ āĻĒā§āϰāϤāĻŋāϰā§āϧā§āϰ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻā§āώā§āϤā§āϰ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧ, āĻāĻāĻāĻŋ āϞāĻž āύāύāϏā§āĨ¤ āĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻŋāύā§āϤ⧠āĻ
āύā§āϝ āĻāĻŋāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰ⧠āύāĻžāĨ¤ āϝāĻĨā§āώā§āĻ āĻāĻŦāĻ
uint32- āϝāĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āϞāĻŦāĻŖ āĻ āύā§āϤāϤ āĻĒā§āϰāϤāĻŋ āĻ āϰā§āϧā§āĻ āĻĻāĻŋāύ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧ, āĻāĻŽāϰāĻž āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻŽāϝāĻŧā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻŖāϏāĻāĻā§āϝāĻž āĻ āĻāĻļā§āϰ āϞā§-āĻ āϰā§āĻĄāĻžāϰ āĻŦāĻŋāĻāĻā§āϞāĻŋāϤ⧠16 āĻŦāĻŋāĻ āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ, āĻŦāĻžāĻāĻŋāĻā§āϞāĻŋ - āϏā§āĻā§āύā§āĻĄā§āϰ āĻāĻāĻāĻŋ āĻāĻā§āύāĻžāĻāĻļā§ (āĻāĻāύāĻāĻžāϰ āĻŽāϤā§)āĨ¤ - āϏāϰāĻžāύ⧠āĻšāϝāĻŧā§āĻā§
msg_idāĻŽā§āĻā§āĻ - āĻŦā§āϝāĻžāĻāĻāύā§āĻĄā§ āĻ āύā§āϰā§āϧāĻā§āϞāĻŋāĻā§ āĻāϞāĻžāĻĻāĻž āĻāϰāĻžāϰ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻĒā§āϰāĻĨāĻŽāϤ, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻāĻĄāĻŋ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāϤ, āϏā§āĻļāύ āĻāĻāĻĄāĻŋ, āϏā§āĻā§āϞāĻŋāĻā§ āϏāĻāϝā§āĻā§āϤ āĻāϰā§āύ⧎ āϏā§āĻ āĻ āύā§āϝāĻžāϝāĻŧā§, āĻ āύā§āϰā§āϧ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āĻšāĻŋāϏāĻžāĻŦā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻāĻŋāύāĻŋāϏāĻ āϝāĻĨā§āώā§āĻseq_no.
āĻāĻāĻŋāĻ āϏāĻŦāĻā§āϝāĻŧā§ āϏāĻĢāϞ āĻŦāĻŋāĻāϞā§āĻĒ āύāϝāĻŧ; āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϰā§āϝāĻžāύā§āĻĄāĻŽ āĻāĻāĻāĻŋ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠- āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻž āĻĒāĻžāĻ āĻžāύā§āϰ āϏāĻŽāϝāĻŧ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ā§ˇ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰāĻāĻŋāĻā§ āĻāĻĒā§āĻā§āώāĻŋāĻ āĻĨā§āĻā§ āĻĒāϰāĻŽ āĻĒāϰā§āϝāύā§āϤ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻž āĻāĻžāϞ, āϤāĻŦā§ āĻāĻāĻŋ āĻ āύā§āϝ āĻ āĻāĻļā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāώāϝāĻŧ, āĻāĻ āĻĒā§āϏā§āĻāĻāĻŋ āύāϝāĻŧāĨ¤
āĻāĻĒāĻŋāĻāĻ?
āϤāĻž-āĻĻāĻžāĻŽ! āϏā§āϤāϰāĻžāĻ, āĻŦā§āϝāĻĨāĻž āĻāĻŦāĻ āĻā§āϰāĻžāĻā§ āĻāϰāĻž āĻĒāĻĨā§āϰ āĻŽāϧā§āϝ āĻĻāĻŋāϝāĻŧā§ āϏāĻāĻā§āϰāĻžāĻŽ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻŽāϰāĻž āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āϏāĻžāϰā§āĻāĻžāϰ⧠āϝ⧠āĻā§āύāĻ āĻ āύā§āϰā§āϧ āĻĒāĻžāĻ āĻžāϤ⧠āĻāĻŦāĻ āϏā§āĻā§āϞāĻŋāϰ āĻā§āύāĻ āĻāϤā§āϤāϰ āĻĒā§āϤ⧠āĻāĻŦāĻ āϏā§āĻāϏāĻžāĻĨā§ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻāĻĒāĻĄā§āĻ āĻĒā§āϤ⧠āϏāĻā§āώāĻŽ āĻšāϝāĻŧā§āĻāĻŋāϞāĻžāĻŽ (āĻāĻāĻāĻŋ āĻ āύā§āϰā§āϧā§āϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āύāϝāĻŧ, āϤāĻŦā§ āĻāĻāĻŋ āύāĻŋāĻā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āĻĒāĻžāĻ āĻžāϝāĻŧ, PUSH āĻāϰ āĻŽāϤā§, āϝāĻĻāĻŋ āĻā§āĻ āĻāĻāĻāĻžāĻŦā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻšāϝāĻŧ)āĨ¤
āĻŽāύā§āϝā§āĻ, āĻāĻāύ āύāĻŋāĻŦāύā§āϧ⧠āĻĒāĻžāϰā§āϞā§āϰ āĻāĻāĻŽāĻžāϤā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĨāĻžāĻāĻŦā§! (āϝāĻžāϰāĻž āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏā§āϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āύāϝāĻŧ āϤāĻžāĻĻā§āϰ āĻāύā§āϝ, āĻāĻļā§āϰā§āĻŦāĻžāĻĻā§āϰ āĻĒā§āϰāĻĨāĻŽ āϝā§āĻā§āϤāĻŋāĻāĻŋ āĻšāϞ āĻŦāϏā§āϤā§āϰ āĻĄā§āĻāĻž āĻāĻžāĻ āĻžāĻŽā§, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻšāϞ āĻāϰ āĻļā§āϰā§āĻŖā§):
2019.10.24 12:00:51 $1 = {
'cb' => 'TeleUpd::__ANON__',
'out' => bless( {
'filter' => bless( {}, 'Telegram::ChannelMessagesFilterEmpty' ),
'channel' => bless( {
'access_hash' => '-6698103710539760874',
'channel_id' => '1380524958'
}, 'Telegram::InputPeerChannel' ),
'pts' => '158503',
'flags' => 0,
'limit' => 0
}, 'Telegram::Updates::GetChannelDifference' ),
'req_id' => '6751291954012037292'
};
2019.10.24 12:00:51 $1 = {
'in' => bless( {
'req_msg_id' => '6751291954012037292',
'result' => bless( {
'pts' => 158508,
'flags' => 3,
'final' => 1,
'new_messages' => [],
'users' => [],
'chats' => [
bless( {
'title' => 'ĐĨŅĐģиĐŊĐžĐŧиĐēа',
'username' => 'hoolinomics',
'flags' => 8288,
'id' => 1380524958,
'access_hash' => '-6698103710539760874',
'broadcast' => 1,
'version' => 0,
'photo' => bless( {
'photo_small' => bless( {
'volume_id' => 246933270,
'file_reference' => '
'secret' => '1854156056801727328',
'local_id' => 228648,
'dc_id' => 2
}, 'Telegram::FileLocation' ),
'photo_big' => bless( {
'dc_id' => 2,
'local_id' => 228650,
'file_reference' => '
'secret' => '1275570353387113110',
'volume_id' => 246933270
}, 'Telegram::FileLocation' )
}, 'Telegram::ChatPhoto' ),
'date' => 1531221081
}, 'Telegram::Channel' )
],
'timeout' => 300,
'other_updates' => [
bless( {
'pts_count' => 0,
'message' => bless( {
'post' => 1,
'id' => 852,
'flags' => 50368,
'views' => 8013,
'entities' => [
bless( {
'length' => 20,
'offset' => 0
}, 'Telegram::MessageEntityBold' ),
bless( {
'length' => 18,
'offset' => 480,
'url' => 'https://alexeymarkov.livejournal.com/[url_вŅŅĐĩСаĐŊ].html'
}, 'Telegram::MessageEntityTextUrl' )
],
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'text' => '???? 165',
'data' => 'send_reaction_0'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'data' => 'send_reaction_1',
'text' => '???? 9'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'message' => 'Đ Đ˛ĐžŅ Đ¸ ĐŊĐžĐ˛Đ°Ņ ĐēĐŊĐ¸ĐŗĐ°!
// [ŅĐĩĐēŅŅ ŅООйŅĐĩĐŊĐ¸Ņ Đ˛ŅŅĐĩСаĐŊ ŅŅОй ĐŊĐĩ ĐŊаŅŅŅаŅŅ ĐŋŅавиĐģ ĐĨайŅа Đž ŅĐĩĐēĐģаĐŧĐĩ]
ĐŊаĐŋĐĩŅаŅаŅ.',
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'date' => 1571724559,
'edit_date' => 1571907562
}, 'Telegram::Message' ),
'pts' => 158508
}, 'Telegram::UpdateEditChannelMessage' ),
bless( {
'pts' => 158508,
'message' => bless( {
'edit_date' => 1571907589,
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'date' => 1571807301,
'message' => 'ĐĐžŅĐĩĐŧŅ ĐŅ ŅŅиŅаĐĩŅĐĩ Facebook ĐŋĐģĐžŅ
ОК ĐēĐžĐŧĐŋаĐŊиĐĩĐš? ĐĐžĐļĐĩŅĐĩ ĐŋŅĐžĐēĐžĐŧĐŧĐĩĐŊŅиŅОваŅŅ? ĐĐž-ĐŧĐžĐĩĐŧŅ, ŅŅĐž ŅиĐēаŅĐŊĐ°Ņ ĐēĐžĐŧĐŋаĐŊиŅ. ĐĐĩС Đ´ĐžĐģĐŗĐžĐ˛, Ņ Ņ
ĐžŅĐžŅĐĩĐš ĐŋŅийŅĐģŅŅ, а ĐĩŅĐģи ŅĐĩŅĐ°Ņ Đ´Đ¸Đ˛Ņ ĐŋĐģаŅиŅŅ, ŅĐž и ĐĩŅĐĩ ĐŧĐžĐŗŅŅ ĐŊĐĩŅ
иĐģĐž ĐŋОдОŅĐžĐļаŅŅ.
ĐĐģŅ ĐŧĐĩĐŊŅ ĐžŅвĐĩŅ ŅОвĐĩŅŅĐĩĐŊĐŊĐž ĐžŅĐĩвидĐĩĐŊ: ĐŋĐžŅĐžĐŧŅ ŅŅĐž Facebook Đ´ĐĩĐģаĐĩŅ ŅĐļаŅĐŊŅĐš ĐŋĐž ĐēаŅĐĩŅŅĐ˛Ņ ĐŋŅОдŅĐēŅ. Đа, Ņ ĐŊĐĩĐŗĐž ĐŧĐžĐŊĐžĐŋĐžĐģŅĐŊĐžĐĩ ĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ и да, иĐŧ ĐŋĐžĐģŅСŅĐĩŅŅŅ ĐžĐŗŅĐžĐŧĐŊĐžĐĩ ĐēĐžĐģиŅĐĩŅŅвО ĐģŅĐ´ĐĩĐš. ĐĐž ĐŧĐ¸Ņ ĐŊĐĩ ŅŅĐžĐ¸Ņ ĐŊа ĐŧĐĩŅŅĐĩ. ĐĐžĐŗĐ´Đ°-ŅĐž вĐģадĐĩĐģŅŅаĐŧ ĐĐžĐēии ĐąŅĐģĐž ŅĐŧĐĩŅĐŊĐž ĐžŅ ĐŋĐĩŅĐ˛ĐžĐŗĐž ĐĐšŅĐžĐŊа. ĐĐŊи Đ´ŅĐŧаĐģи, ŅŅĐž ĐģŅŅŅĐĩ ĐĐžĐēии ĐŊиŅĐĩĐŗĐž ĐąŅŅŅ ĐŊĐĩ ĐŧĐžĐļĐĩŅ Đ¸ ĐžĐŊа ĐŊавŅĐĩĐŗĐ´Đ° ĐžŅŅаĐŊĐĩŅŅŅ ŅаĐŧŅĐŧ ŅдОйĐŊŅĐŧ, ĐēŅаŅивŅĐŧ и ŅвŅŅĐ´ŅĐŧ ŅĐĩĐģĐĩŅĐžĐŊĐžĐŧ - и Đ´ĐžĐģŅ ŅŅĐŊĐēа ŅŅĐž ĐēŅаŅĐŊĐžŅĐĩŅивО Đ´ĐĩĐŧĐžĐŊŅŅŅиŅОваĐģа. ĐĸĐĩĐŋĐĩŅŅ Đ¸Đŧ ĐŊĐĩ ŅĐŧĐĩŅĐŊĐž.
ĐĐžĐŊĐĩŅĐŊĐž, ŅĐĩĐŋŅиĐģĐžĐ¸Đ´Ņ ŅĐžĐŋŅĐžŅивĐģŅŅŅŅŅ ĐŊаĐŋĐžŅŅ ĐŧĐžĐģОдŅŅ
ĐŗĐĩĐŊиĐĩв: ŅаĐē ĐĻŅĐēĐĩŅĐąĐĩŅĐŗĐžĐŧ ĐąŅĐģ ĐŋĐžĐļŅаĐŊ Whatsapp, ĐŋĐžŅĐžĐŧ Instagram. ĐĐž вŅŅ Đ¸Đŧ ĐŊĐĩ ĐŋĐžĐļŅаŅŅ, ĐаŅа ĐŅŅОв ĐŊĐĩ ĐŋŅОдаŅŅŅŅ!
ĐĸаĐē ĐąŅĐ´ĐĩŅ Đ¸ Ņ Đ¤ĐĩĐšŅĐąŅĐēĐžĐŧ. ĐĐĩĐģŅĐˇŅ Đ˛ŅŅ Đ˛ŅĐĩĐŧŅ Đ´ĐĩĐģаŅŅ ĐŗĐžĐ˛ĐŊĐž. ĐŅĐž-ŅĐž ĐēĐžĐŗĐ´Đ°-ŅĐž ŅĐ´ĐĩĐģаĐĩŅ Ņ
ĐžŅĐžŅиК ĐŋŅОдŅĐēŅ, ĐēŅда вŅŅ Đ¸ ŅКдŅŅ.
#ŅĐžŅŅĐĩŅи #facebook #аĐēŅии #ŅĐĩĐŋŅиĐģОидŅ',
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'data' => 'send_reaction_0',
'text' => '???? 452'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'text' => '???? 21',
'data' => 'send_reaction_1'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'entities' => [
bless( {
'length' => 199,
'offset' => 0
}, 'Telegram::MessageEntityBold' ),
bless( {
'length' => 8,
'offset' => 919
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'offset' => 928,
'length' => 9
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'length' => 6,
'offset' => 938
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'length' => 11,
'offset' => 945
}, 'Telegram::MessageEntityHashtag' )
],
'views' => 6964,
'flags' => 50368,
'id' => 854,
'post' => 1
}, 'Telegram::Message' ),
'pts_count' => 0
}, 'Telegram::UpdateEditChannelMessage' ),
bless( {
'message' => bless( {
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'data' => 'send_reaction_0',
'text' => '???? 213'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'data' => 'send_reaction_1',
'text' => '???? 8'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'views' => 2940,
'entities' => [
bless( {
'length' => 609,
'offset' => 348
}, 'Telegram::MessageEntityItalic' )
],
'flags' => 50368,
'post' => 1,
'id' => 857,
'edit_date' => 1571907636,
'date' => 1571902479,
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'message' => 'ĐĐžŅŅ ĐŋŅĐž 1ĐĄ вŅСваĐģ ĐąŅŅĐŊŅŅ ĐŋĐžĐģĐĩĐŧиĐēŅ. ЧĐĩĐģОвĐĩĐē 10 (видиĐŧĐž, 1Ņ-ĐŋŅĐžĐŗŅаĐŧĐŧиŅŅОв) ĐĩдиĐŊОдŅŅĐŊĐž ĐŊаĐŋиŅаĐģи:
// [ŅĐĩĐēŅŅ ŅООйŅĐĩĐŊĐ¸Ņ Đ˛ŅŅĐĩСаĐŊ ŅŅОй ĐŊĐĩ ĐŊаŅŅŅаŅŅ ĐŋŅавиĐģ ĐĨайŅа Đž ŅĐĩĐēĐģаĐŧĐĩ]
Đ¯ ĐąŅ Đ´ĐžĐąĐ°Đ˛Đ¸Đģ, ŅŅĐž ĐąĐģĐĩŅŅŅŅĐ°Ņ Ņ 1ĐĄ диŅŅŅийŅŅиŅ, а ĐŧаŅĐēĐĩŅиĐŊĐŗ... ĐŊŅ, ŅаĐēĐžĐĩ.'
}, 'Telegram::Message' ),
'pts_count' => 0,
'pts' => 158508
}, 'Telegram::UpdateEditChannelMessage' ),
bless( {
'pts' => 158508,
'pts_count' => 0,
'message' => bless( {
'message' => 'ĐĐ´ŅавŅŅвŅĐšŅĐĩ, ŅаŅŅĐēаĐļиŅĐĩ, ĐŋĐžĐļаĐģŅĐšŅŅа, ŅĐĩĐŧ вŅĐĩĐ´Đ¸Ņ ŅĐēĐžĐŊĐžĐŧиĐēĐĩ 1ĐĄ?
// [ŅĐĩĐēŅŅ ŅООйŅĐĩĐŊĐ¸Ņ Đ˛ŅŅĐĩСаĐŊ ŅŅОй ĐŊĐĩ ĐŊаŅŅŅаŅŅ ĐŋŅавиĐģ ĐĨайŅа Đž ŅĐĩĐēĐģаĐŧĐĩ]
#ŅĐžŅŅ #it #ŅĐēĐžĐŊĐžĐŧиĐēа',
'edit_date' => 1571907650,
'date' => 1571893707,
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'flags' => 50368,
'post' => 1,
'id' => 856,
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'data' => 'send_reaction_0',
'text' => '???? 360'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'data' => 'send_reaction_1',
'text' => '???? 32'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'views' => 4416,
'entities' => [
bless( {
'offset' => 0,
'length' => 64
}, 'Telegram::MessageEntityBold' ),
bless( {
'offset' => 1551,
'length' => 5
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'length' => 3,
'offset' => 1557
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'offset' => 1561,
'length' => 10
}, 'Telegram::MessageEntityHashtag' )
]
}, 'Telegram::Message' )
}, 'Telegram::UpdateEditChannelMessage' )
]
}, 'Telegram::Updates::ChannelDifference' )
}, 'MTProto::RpcResult' )
};
2019.10.24 12:00:51 $1 = {
'in' => bless( {
'update' => bless( {
'user_id' => 2507460,
'status' => bless( {
'was_online' => 1571907651
}, 'Telegram::UserStatusOffline' )
}, 'Telegram::UpdateUserStatus' ),
'date' => 1571907650
}, 'Telegram::UpdateShort' )
};
2019.10.24 12:05:46 $1 = {
'in' => bless( {
'chats' => [],
'date' => 1571907946,
'seq' => 0,
'updates' => [
bless( {
'max_id' => 141719,
'channel_id' => 1295963795
}, 'Telegram::UpdateReadChannelInbox' )
],
'users' => []
}, 'Telegram::Updates' )
};
2019.10.24 13:01:23 $1 = {
'in' => bless( {
'server_salt' => '4914425622822907323',
'unique_id' => '5297282355827493819',
'first_msg_id' => '6751307555044380692'
}, 'MTProto::NewSessionCreated' )
};
2019.10.24 13:24:21 $1 = {
'in' => bless( {
'chats' => [
bless( {
'username' => 'freebsd_ru',
'version' => 0,
'flags' => 5440,
'title' => 'freebsd_ru',
'min' => 1,
'photo' => bless( {
'photo_small' => bless( {
'local_id' => 328733,
'volume_id' => 235140688,
'dc_id' => 2,
'file_reference' => '
'secret' => '4426006807282303416'
}, 'Telegram::FileLocation' ),
'photo_big' => bless( {
'dc_id' => 2,
'file_reference' => '
'volume_id' => 235140688,
'local_id' => 328735,
'secret' => '71251192991540083'
}, 'Telegram::FileLocation' )
}, 'Telegram::ChatPhoto' ),
'date' => 1461248502,
'id' => 1038300508,
'democracy' => 1,
'megagroup' => 1
}, 'Telegram::Channel' )
],
'users' => [
bless( {
'last_name' => 'Panov',
'flags' => 1048646,
'min' => 1,
'id' => 82234609,
'status' => bless( {}, 'Telegram::UserStatusRecently' ),
'first_name' => 'Dima'
}, 'Telegram::User' )
],
'seq' => 0,
'date' => 1571912647,
'updates' => [
bless( {
'pts' => 137596,
'message' => bless( {
'flags' => 256,
'message' => 'ХОСдаŅŅ Đ´ĐļĐĩĐšĐģ Ņ Đ¸ĐŧĐĩĐŊĐĩĐŧ ĐŋĐžĐēĐžŅĐžŅĐĩ ??',
'to_id' => bless( {
'channel_id' => 1038300508
}, 'Telegram::PeerChannel' ),
'id' => 119634,
'date' => 1571912647,
'from_id' => 82234609
}, 'Telegram::Message' ),
'pts_count' => 1
}, 'Telegram::UpdateNewChannelMessage' )
]
}, 'Telegram::Updates' )
};āĻšā§āϝāĻžāĻ, āĻāĻĻā§āĻĻā§āĻļā§āϝāĻŽā§āϞāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āϏā§āĻĒāϝāĻŧāϞāĻžāϰ āύāϝāĻŧ - āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāĻāύāĻ āύāĻž āĻĒāĻĄāĻŧā§ āĻĨāĻžāĻā§āύ āϤāĻŦā§ āĻāĻāĻŋāϝāĻŧā§ āϝāĻžāύ āĻāĻŦāĻ āĻāĻāĻŋ āĻāϰā§āύ!
āĻāĻš, āĻāϝāĻŧāĻžāĻ~~... āĻāĻāĻž āĻā§āĻŽāύ āĻĻā§āĻāĻžāĻā§āĻā§? āĻā§āĻŦ āĻĒāϰāĻŋāĻāĻŋāϤ āĻāĻŋāĻā§... āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻāĻŋ JSON-āĻāϰ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻāϝāĻŧā§āĻŦ API-āĻāϰ āĻĄā§āĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ, āĻŦā§āϝāϤā§āϤ āĻā§āϞāĻžāϏāĻā§āϞāĻŋāĻ āĻ āĻŦāĻā§āĻā§āĻā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤ āĻĨāĻžāĻā§?...
āϤāĻžāĻšāϞ⧠āĻāĻāĻāĻžāĻŦā§ āĻĻā§āĻāĻž āϝāĻžāĻā§āĻā§... āĻāĻŽāϰā§āĻĄāϰāĻž, āĻāĻāĻž āĻāĻŋāϏā§āϰ?... āĻāϤ āĻĒā§āϰāĻā§āώā§āĻāĻž - āĻāĻŦāĻ āĻāĻŽāϰāĻž āϝā§āĻāĻžāύ⧠āĻāϝāĻŧā§āĻŦ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāϰāϰāĻž āϏā§āĻāĻžāύ⧠āĻŦāĻŋāĻļā§āϰāĻžāĻŽ āύāĻŋāϤ⧠āĻĨāĻžāĻŽāϞāĻžāĻŽāĨ¤ āϏāĻŦā§āĻŽāĻžāϤā§āϰ āĻļā§āϰ⧠āĻšāĻāϤā§āĻā§?..HTTPS āĻāϰ āĻāĻĒāϰ JSON āĻāĻŋ āϏāĻšāĻ āĻšāĻŦā§ āύāĻž?! āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧā§ āĻāĻŽāϰāĻž āĻā§ āĻĒā§āϞāĻžāĻŽ? āĻĒā§āϰāĻā§āώā§āĻāĻž āĻāĻāĻž āĻŽā§āϞā§āϝ āĻāĻŋāϞ?
āĻāϏā§āύ āĻŽā§āϞā§āϝāĻžāϝāĻŧāύ āĻāϰāĻŋ āϝ⧠TL+MTProto āĻāĻŽāĻžāĻĻā§āϰ āĻā§ āĻĻāĻŋāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻā§ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āϏāĻŽā§āĻāĻŦāĨ¤ āĻāĻžāϞ, HTTP, āϝāĻž āĻ āύā§āϰā§āϧ-āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻŽāĻĄā§āϞā§āϰ āĻāĻĒāϰ āĻĢā§āĻāĻžāϏ āĻāϰā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϰāĻžāĻĒ āĻĢāĻŋāĻ, āϤāĻŦā§ āĻ āύā§āϤāϤ āĻāĻŋāĻāϞāĻāϏā§āϰ āĻāĻĒāϰ⧠āĻāĻŋāĻā§?
āĻāĻŽāĻĒā§āϝāĻžāĻā§āĻ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύāĨ¤ āĻāĻ āĻĄāĻžāĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻĻā§āĻā§, JSON āĻāϰ āĻŽāϤā§, āĻāĻŽāĻžāϰ āĻŽāύ⧠āĻāĻā§ āĻāϰ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻāĻžāϰā§āϏāύ āĻāĻā§āĨ¤ āĻāϏā§āύ MsgPack āĻā§ āĻ āĻĒāϰā§āϝāĻžāĻĒā§āϤāĻāĻžāĻŦā§ āĻāĻā§āϏāĻā§āύāϏāĻŋāĻŦāϞ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰāĻŋ, āϤāĻŦā§ āϏā§āĻāĻžāύā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, CBOR - āϝāĻžāĻāĻšā§āĻ, āĻāĻāĻāĻŋ āĻŽāĻžāύ āĻŦāϰā§āĻŖāĻŋāϤ āĻāĻā§ . āĻāĻāĻŋ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻā§āϝāĻžāĻ, āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻšāĻŋāϏāĻžāĻŦā§, āĻāĻŦāĻ āĻŽāϧā§āϝ⧠āϏā§āĻāĻžāύā§:
- 25 + 256 - āϞāĻžāĻāύ āύāĻŽā§āĻŦāϰā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āϏāĻš āĻŦāĻžāϰāĻŦāĻžāϰ āϞāĻžāĻāύ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž, āϝā§āĻŽāύ āĻāĻāĻāĻŋ āϏāϏā§āϤāĻž āĻāĻŽā§āĻĒā§āϰā§āĻļāύ āĻĒāĻĻā§āϧāϤāĻŋ
- 26 - āĻā§āϞāĻžāϏā§āϰ āύāĻžāĻŽ āĻāĻŦāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āϏāĻš āĻā§āϰāĻŽāĻŋāĻ āĻĒāĻžāϰā§āϞ āĻ āĻŦāĻā§āĻā§āĻ
- 27 - āĻāĻžāĻāĻĒ āύāĻžāĻŽ āĻāĻŦāĻ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ āĻāϰā§āĻā§āĻŽā§āύā§āĻ āϏāĻš āĻā§āϰāĻŽāĻŋāĻ āĻāĻžāώāĻž-āϏā§āĻŦāĻžāϧā§āύ āĻŦāϏā§āϤā§
āĻ āĻŋāĻ āĻāĻā§, āĻāĻŽāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻāĻŦāĻ āĻ āĻŦāĻā§āĻā§āĻ āĻĒā§āϝāĻžāĻāĻŋāĻ āϏāĻā§āώāĻŽ āĻāϰ⧠TL āĻāĻŦāĻ CBOR-āĻ āĻāĻāĻ āĻĄā§āĻāĻž āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāĨ¤ āĻĢāϞāĻžāĻĢāϞ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ āĻĨā§āĻā§ āĻā§āĻĨāĻžāĻ CBOR āĻāϰ āĻĒāĻā§āώ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϤ⧠āĻļā§āϰ⧠āĻāϰā§:
cborlen=1039673 tl_len=1095092āĻāĻŦāĻ āϤāĻžāĻ, āĻāĻĒāϏāĻāĻšāĻžāϰ: āϤā§āϞāύāĻžāĻŽā§āϞāĻ āĻĻāĻā§āώāϤāĻžāϰ āϏāĻžāĻĨā§ āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻā§āĻļāύ āĻŦā§āϝāϰā§āĻĨāϤāĻž āĻŦāĻž āĻ āĻāĻžāύāĻž āĻļāύāĻžāĻā§āϤāĻāĻžāϰā§āϰ āϏāĻŽāϏā§āϝāĻž āϏāĻžāĻĒā§āĻā§āώ⧠āύāϝāĻŧ āĻāĻŽāύ āϝāĻĨā§āώā§āĻ āϏāĻšāĻ āĻŦāĻŋāύā§āϝāĻžāϏ āϰāϝāĻŧā§āĻā§āĨ¤
āĻĻā§āϰā§āϤ āϏāĻāϝā§āĻ āϏā§āĻĨāĻžāĻĒāύ. āĻāϰ āĻ āϰā§āĻĨ āĻšāϞ āĻĒā§āύāĻāϏāĻāϝā§āĻā§āϰ āĻĒāϰ⧠āĻļā§āύā§āϝ RTT (āϝāĻāύ āĻā§āĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāĻāĻŦāĻžāϰ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§) - āĻĒā§āϰāĻĨāĻŽ MTProto āĻŦāĻžāϰā§āϤāĻž āĻĨā§āĻā§ āĻĒā§āϰāϝā§āĻā§āϝ, āĻāĻŋāύā§āϤ⧠āĻāĻŋāĻā§ āϏāĻāϰāĻā§āώāĻŖā§āϰ āϏāĻžāĻĨā§ - āĻāĻāĻ āϞāĻŦāĻŖā§ āĻāĻāĻžāϤ āĻāϰā§āύ, āϏā§āĻļāύāĻāĻŋ āĻĒāĻāĻž āĻšāϝāĻŧ āύāĻž āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤ TLS āĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻā§ āĻ āĻĢāĻžāϰ āĻāϰā§? āĻŦāĻŋāώāϝāĻŧā§ āĻāĻĻā§āϧā§āϤāĻŋ:
TLS-āĻ PFS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, TLS āϏā§āĻļāύā§āϰ āĻāĻŋāĻāĻŋāĻ () āĻā§ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāϞā§āĻāύāĻž āύāĻž āĻāϰ⧠āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻŽā§āϞ āϤāĻĨā§āϝ āϏāĻāϰāĻā§āώāĻŖ āύāĻž āĻāϰ⧠āĻāĻāĻāĻŋ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āϏā§āĻļāύ āĻĒā§āύāϰāĻžāϝāĻŧ āĻļā§āϰ⧠āĻāϰāϤā§āĨ¤ āĻĒā§āϰāĻĨāĻŽ āϏāĻāϝā§āĻ āĻā§āϞāĻžāϰ āĻāĻŦāĻ āĻā§ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āϏāĻžāϰā§āĻāĻžāϰ āϏāĻāϝā§āĻā§āϰ āĻ āĻŦāϏā§āĻĨāĻž āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰ⧠āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāĻžāĻā§ āĻĒā§āϰā§āϰāĻŖ āĻāϰ⧠(āĻāĻāĻāĻŋ āϏā§āĻļāύ āĻāĻŋāĻāĻŋāĻā§āϰ āĻāĻāĻžāϰā§)āĨ¤ āϤāĻĻāύā§āϏāĻžāϰā§, āϏāĻāϝā§āĻ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞ⧠āĻšāϞā§, āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻāĻāĻāĻŋ āϏā§āĻļāύ āĻāĻŋāĻāĻŋāĻ āĻĒāĻžāĻ āĻžāϝāĻŧ, āϏā§āĻļāύ āĻā§ āϏāĻš, āϏāĻžāϰā§āĻāĻžāϰ⧠āĻĢā§āϰāϤ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āĻāĻŋāĻāĻŋāĻ āύāĻŋāĻā§āĻ āĻāĻāĻāĻŋ āĻ āϏā§āĻĨāĻžāϝāĻŧā§ āĻā§ (āϏā§āĻļāύ āĻāĻŋāĻāĻŋāĻ āĻā§) āĻĻāĻŋāϝāĻŧā§ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāĻž āĻšāϝāĻŧ, āϝāĻž āϏāĻžāϰā§āĻāĻžāϰ⧠āϏāĻāϰāĻā§āώāĻŋāϤ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻā§āĻā§āĻ āϏāĻŽāĻžāϧāĻžāύ⧠SSL āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖāĻāĻžāϰ⧠āϏāĻŽāϏā§āϤ āĻĢā§āϰāύā§āĻāĻāύā§āĻĄ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻŽāϧā§āϝ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻāĻŦāĻļā§āϝāĻāĨ¤[10]āĨ¤ āĻāĻāĻāĻžāĻŦā§, āĻāĻāĻāĻŋ āϏā§āĻļāύ āĻāĻŋāĻāĻŋāĻā§āϰ āĻĒā§āϰāĻŦāϰā§āϤāύ PFS āϞāĻā§āĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝāĻĻāĻŋ āĻ āϏā§āĻĨāĻžāϝāĻŧā§ āϏāĻžāϰā§āĻāĻžāϰ āĻā§āĻā§āϞāĻŋ āĻāĻĒā§āϏ āĻāϰāĻž āĻšāϝāĻŧ, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϝāĻāύ āϏā§āĻā§āϞāĻŋ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž āĻšāϝāĻŧ (OpenSSL, nginx, Apache āĻāĻā§āϞāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āĻĒā§āϰ⧠āϏāĻŽāϝāĻŧāĻāĻžāϞā§āϰ āĻāύā§āϝ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§; āĻāύāĻĒā§āϰāĻŋāϝāĻŧ āϏāĻžāĻāĻāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϝāĻŧā§āĻ āĻāύā§āĻāĻžāϰ āĻāύā§āϝ āĻāĻžāĻŦāĻŋ, āĻĻāĻŋāύ āĻĒāϰā§āϝāύā§āϤ)āĨ¤
āĻāĻāĻžāύ⧠RTT āĻļā§āύā§āϝ āύāϝāĻŧ, āĻāĻĒāύāĻžāĻā§ āĻ āύā§āϤāϤ ClientHello āĻāĻŦāĻ ServerHello āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻāϰāϤ⧠āĻšāĻŦā§, āϤāĻžāϰāĻĒāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĢāĻŋāύāĻŋāĻļāĻĄ āϏāĻš āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāϤ⧠āĻĒāĻžāϰāĻŦā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻāĻžāύ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻŽāύ⧠āϰāĻžāĻāĻž āĻāĻāĻŋāϤ āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āĻāϝāĻŧā§āĻŦ āύā§āĻ, āϤāĻžāϰ āύāϤā§āύ āĻā§āϞāĻž āϏāĻāϝā§āĻāĻā§āϞāĻŋāϰ āĻā§āĻā§āĻ āϏāĻš, āĻāĻŋāύā§āϤ⧠āĻāĻāĻāĻŋ āĻŽā§āϏā§āĻā§āĻāĻžāϰ, āϝāĻžāϰ āϏāĻāϝā§āĻāĻāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻ āĻāĻŦāĻ āĻāĻŽ āĻŦāĻž āĻŦā§āĻļāĻŋ āĻĻā§āϰā§āĻāϏā§āĻĨāĻžāϝāĻŧā§ āĻšāϝāĻŧ, āĻāϝāĻŧā§āĻŦ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋāϤ⧠āĻ āĻĒā§āĻā§āώāĻžāĻā§āϤ āĻā§āĻ āĻ āύā§āϰā§āϧ - āϏāĻŦāĻāĻŋāĻā§āĻ āĻŽāĻžāϞā§āĻāĻŋāĻĒā§āϞā§āĻā§āϏāĻĄ āĻ āĻā§āϝāύā§āϤāϰā§āĻŖāĻāĻžāĻŦā§ āĻ āϰā§āĻĨāĻžā§, āĻāĻāĻŋ āĻŦā§āĻļ āĻā§āϰāĻšāĻŖāϝā§āĻā§āϝ āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āϏāϤā§āϝāĻŋāĻ āĻāĻāĻāĻŋ āĻāĻžāϰāĻžāĻĒ āĻĒāĻžāϤāĻžāϞ āϰā§āϞ āĻŦāĻŋāĻāĻžāĻā§ āύāĻž āĻāϏāĻŋāĨ¤
āĻ āύā§āϝ āĻāĻŋāĻā§ āĻā§āϞ⧠āĻā§āĻā§āύ? āĻāĻŽā§āύā§āĻā§ āϞāĻŋāĻā§āύāĨ¤
āĻāϞāĻŦā§!
āĻĒā§āϏā§āĻāĻā§āϞāĻŋāϰ āĻāĻ āϏāĻŋāϰāĻŋāĻā§āϰ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§ āĻāĻŽāϰāĻž āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āύāϝāĻŧ, āϤāĻŦā§ āϏāĻžāĻāĻāĻ āύāĻŋāĻ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻŦ - āĻĒāĻĻā§āϧāϤāĻŋ, āĻāĻĻāϰā§āĻļ, āĻāύā§āĻāĻžāϰāĻĢā§āϏ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻĒā§āϰāϤāĻŋ āĻŽāύā§āĻāĻžāĻŦ āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤ āϤāĻŦā§, āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āϤāĻĨā§āϝā§āϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠āϝāĻž āĻāĻāĻžāύ⧠āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
āϤā§āϤā§āϝāĻŧ āĻ āĻāĻļ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻāĻĒāĻžāĻĻāĻžāύ / āĻāύā§āύāϝāĻŧāύ āĻ āĻāĻŋāĻā§āĻāϤāĻž āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāĻŦā§. āĻāĻĒāύāĻŋ āĻļāĻŋāĻāĻŦā§āύ, āĻŦāĻŋāĻļā§āώ āĻāϰā§:
- āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāĻŖā§āϰ TL āϏāĻš āĻŽāĻšāĻžāĻŽāĻžāϰā§āϰ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻāϤāĻž
- āĻā§āϝāĻžāύā§āϞ āĻāĻŦāĻ āϏā§āĻĒāĻžāϰāĻā§āϰā§āĻĒ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āĻāĻžāύāĻž āĻāĻŋāύāĻŋāϏ
- āĻā§āύ āĻĄāĻžāϝāĻŧāĻžāϞāĻ āϰā§āϏā§āĻāĻžāϰā§āϰ āĻā§āϝāĻŧā§ āĻāĻžāϰāĻžāĻĒ
- āĻĒāϰāĻŽ āĻŦāύāĻžāĻŽ āĻāĻĒā§āĻā§āώāĻŋāĻ āĻŦāĻžāϰā§āϤāĻž āĻ āĻŋāĻāĻžāύāĻž āϏāĻŽā§āĻĒāϰā§āĻā§
- āĻāĻŦāĻŋ āĻāĻŦāĻ āĻāĻŦāĻŋāϰ āĻŽāϧā§āϝ⧠āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻāĻŋ?
- āĻāĻŽā§āĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻžāϞāĻŋāĻ āĻā§āĻā§āϏāĻā§ āĻšāϏā§āϤāĻā§āώā§āĻĒ āĻāϰā§
āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻā§āϰāĻžāĻ! āϏāĻžāĻĨā§ āĻĨāĻžāĻā§āύ!
āĻāϤā§āϏ: www.habr.com
