āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻĄāĻŋāĻāĻžāĻāύ (Design A Key-value Store)
āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ, āϝāĻžāĻā§ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĄāĻžāĻāĻžāĻŦā§āϏāĻ āĻŦāϞāĻž āĻšāϝāĻŧ, āĻšāϞ⧠āĻāĻāĻāĻŋ āύāύ-āϰāĻŋāϞā§āĻļāύāĻžāϞ (non-relational) āĻĄāĻžāĻāĻžāĻŦā§āϏāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻ āύāύā§āϝ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠(unique identifier) āĻāĻāĻāĻŋ āĻā§ (key) āĻšāĻŋāϏāĻžāĻŦā§ āϏāĻāϰāĻā§āώāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ āĻāϰ āϏāĻžāĻĨā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻā§āϝāĻžāϞ⧠(value) āĻĨāĻžāĻā§āĨ¤ āĻāĻ āĻĄā§āĻāĻž āĻĒā§āϝāĻŧāĻžāϰāĻŋāĻāĻā§ âāĻā§-āĻā§āϝāĻžāϞā§â āĻĒā§āϝāĻŧāĻžāϰ āĻŦāϞāĻž āĻšāϝāĻŧāĨ¤
āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĒā§āϝāĻŧāĻžāϰā§, āĻā§ āĻ āĻŦāĻļā§āϝāĻ āĻ āύāύā§āϝ āĻšāϤ⧠āĻšāĻŦā§, āĻāĻŦāĻ āĻā§āϰ āϏāĻžāĻĨā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻā§āϝāĻžāϞ⧠āĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻā§āĻā§āϞ⧠āĻĒā§āϞā§āĻāύ āĻā§āĻā§āϏāĻ āĻŦāĻž āĻšā§āϝāĻžāĻļ āĻāϰāĻž āĻā§āϝāĻžāϞ⧠āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻāĻžāϰāĻŖā§, āĻāĻāĻāĻŋ āĻā§āĻ āĻā§ āĻāĻžāϞ⧠āĻāĻžāĻ āĻāϰā§āĨ¤ āĻā§āĻā§āϞ⧠āĻā§āĻŽāύ āĻĻā§āĻāĻžāϝāĻŧ? āĻāĻāĻžāύ⧠āĻāϝāĻŧā§āĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻāϝāĻŧāĻž āĻšāϞā§:
- āĻĒā§āϞā§āĻāύ āĻā§āĻā§āϏāĻ āĻā§: âlast_logged_in_atâ
- āĻšā§āϝāĻžāĻļ āĻāϰāĻž āĻā§: 253DDEC4
āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĒā§āϝāĻŧāĻžāϰā§āϰ āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰāĻŋāĻ, āϞāĻŋāϏā§āĻ, āĻ āĻŦāĻā§āĻā§āĻ āĻāϤā§āϝāĻžāĻĻāĻŋ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰāĻā§āϞā§āϤ⧠āĻā§āϝāĻžāϞā§āĻā§ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻāĻŋ āĻ āĻĒā§āĻ (opaque) āĻ āĻŦāĻā§āĻā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āĻšāϝāĻŧ, āϝā§āĻŽāύ Amazon dynamo [1], Memcached [2], Redis [3], āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤
āĻāĻāĻžāύ⧠āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ⧠āĻāĻāĻāĻŋ āĻĄā§āĻāĻž āϏā§āύāĻŋāĻĒā§āĻ āĻĻā§āĻāϝāĻŧāĻž āĻšāϞā§:
| key | value |
|---|---|
| 145 | john |
| 147 | bob |
| 160 | julia |
āĻā§āĻŦāĻŋāϞ ā§§
āĻāĻ āĻ āϧā§āϝāĻžāϝāĻŧā§, āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāϤ⧠āĻŦāϞāĻž āĻšāϝāĻŧā§āĻā§ āϝāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻ āĻĒāĻžāϰā§āĻļāύāĻā§āϞ⧠āϏāĻŽāϰā§āĻĨāύ āĻāϰā§:
put(key, value)// âkeyâ-āĻāϰ āϏāĻžāĻĨā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ âvalueâ āĻāύāϏāĻžāϰā§āĻ āĻāϰā§āύget(key)// âkeyâ-āĻāϰ āϏāĻžāĻĨā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ âvalueâ āύāĻŋāϝāĻŧā§ āĻāϏā§āύ
āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻŦā§āĻāĻž āĻāĻŦāĻ āĻĄāĻŋāĻāĻžāĻāύā§āϰ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āώā§āϤā§āϰ (scope) āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāĻž
āĻā§āύ⧠āύāĻŋāĻā§āĻāϤ āĻĄāĻŋāĻāĻžāĻāύ āύā§āĻāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĄāĻŋāĻāĻžāĻāύ āϰāĻŋāĻĄ, āϰāĻžāĻāĻ āĻāĻŦāĻ āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻā§āϰā§āĻĄ-āĻ āĻĢāĻā§āϞā§āϰ (tradeoffs) āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻžāϰāϏāĻžāĻŽā§āϝ āĻ āϰā§āĻāύ āĻāϰā§āĨ¤ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ (consistency) āĻāĻŦāĻ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋāϰ (availability) āĻŽāϧā§āϝā§āĻ āĻāϰā§āĻāĻāĻŋ āĻā§āϰā§āĻĄ-āĻ āĻĢ āĻāϰāϤ⧠āĻšāϝāĻŧāĨ¤ āĻāĻ āĻ āϧā§āϝāĻžāϝāĻŧā§, āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻŋ āϝāĻžāϤ⧠āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞ⧠āĻĨāĻžāĻā§:
- āĻāĻāĻāĻŋ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĒā§āϝāĻŧāĻžāϰā§āϰ āϏāĻžāĻāĻ āĻā§āĻ: 10 KB āĻāϰ āĻāĻŽāĨ¤
- āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻžāĨ¤
- āĻāĻā§āĻ āĻĒā§āϰāĻžāĻĒā§āϝāϤāĻž (High availability): āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āĻĻā§āϰā§āϤ āϰā§āϏāĻĒāύā§āϏ āĻāϰā§, āĻāĻŽāύāĻāĻŋ āĻĢā§āĻāϞāĻŋāĻāϰā§āϰ (failures) āϏāĻŽāϝāĻŧāĻāĨ¤
- āĻāĻā§āĻ āϏā§āĻā§āϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ (High scalability): āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋāĻā§ āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āϏā§āĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āϏā§āĻā§āϞ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤
- āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āϏā§āĻā§āϞāĻŋāĻ (Automatic scaling): āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āϏāĻžāϰā§āĻāĻžāϰ āϝā§āĻ/āĻŽā§āĻā§ āĻĢā§āϞāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤
- āĻāĻŋāĻāύā§āĻŦāϞ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ (Tunable consistency)āĨ¤
- āĻāĻŽ āϞā§āĻā§āύā§āϏāĻŋ (Low latency)āĨ¤
āϏāĻŋāĻā§āĻā§āϞ āϏāĻžāϰā§āĻāĻžāϰ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ
āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻĨāĻžāĻāĻž āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āϤā§āϰāĻŋ āĻāϰāĻž āϏāĻšāĻāĨ¤ āĻāĻāĻāĻŋ āϏāĻšāĻāĻŦā§āϧā§āϝ āĻĒāĻĻā§āϧāϤāĻŋ āĻšāϞ⧠āĻā§-āĻā§āϝāĻžāϞ⧠āĻĒā§āϝāĻŧāĻžāϰāĻā§āϞ⧠āĻāĻāĻāĻŋ āĻšā§āϝāĻžāĻļ āĻā§āĻŦāĻŋāϞ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž, āϝāĻž āϏāĻŦāĻāĻŋāĻā§ āĻŽā§āĻŽāϰāĻŋāϤ⧠āϰāĻžāĻā§āĨ¤ āĻŽā§āĻŽāϰāĻŋ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻĻā§āϰā§āϤ āĻšāϞā§āĻ, āϏā§āĻĒā§āϏā§āϰ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻžāϰ āĻāĻžāϰāĻŖā§ āϏāĻŦāĻāĻŋāĻā§ āĻŽā§āĻŽāϰāĻŋāϤ⧠āϰāĻžāĻāĻž āĻ āϏāĻŽā§āĻāĻŦ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāϰāĻ āĻŦā§āĻļāĻŋ āĻĄā§āĻāĻž āϰāĻžāĻāĻžāϰ āĻāύā§āϝ āĻĻā§āĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§:
- āĻĄā§āĻāĻž āĻāĻŽā§āĻĒā§āϰā§āĻļāύ (Data compression)
- āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāύ āĻāύ āĻŦā§āϝāĻŦāĻšā§āϤ āĻĄā§āĻāĻž āĻŽā§āĻŽāϰāĻŋāϤ⧠āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻā§āϞ⧠āĻĄāĻŋāϏā§āĻā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž
āĻāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāύāĻā§āϞ⧠āϏāϤā§āϤā§āĻŦā§āĻ, āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϏāĻžāϰā§āĻāĻžāϰ āĻā§āĻŦ āĻĻā§āϰā§āϤ āϤāĻžāϰ āĻā§āώāĻŽāϤāĻžāϝāĻŧ āĻĒā§āĻāĻā§ āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤
āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ
āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰāĻā§ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻšā§āϝāĻžāĻļ āĻā§āĻŦāĻŋāϞāĻ āĻŦāϞāĻž āĻšāϝāĻŧ, āϝāĻž āĻ āύā§āĻ āϏāĻžāϰā§āĻāĻžāϰ āĻā§āĻĄāĻŧā§ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĒā§āϝāĻŧāĻžāϰ āĻŦāĻŋāϤāϰāĻŖ āĻāϰā§āĨ¤ āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, CAP (Consistency, Availability, Partition Tolerance) āĻĨāĻŋāĻāϰā§āĻŽ āĻŦā§āĻāĻž āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤
CAP āĻĨāĻŋāĻāϰā§āĻŽ
CAP āĻĨāĻŋāĻāϰā§āĻŽ āĻŦāϞ⧠āϝ⧠āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāύā§āϝ āĻāĻ āϤāĻŋāύāĻāĻŋ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋāϰ āĻŽāϧā§āϝ⧠āĻĻā§āĻāĻŋāϰ āĻŦā§āĻļāĻŋ āĻāĻāĻ āϏāĻžāĻĨā§ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻ āϏāĻŽā§āĻāĻŦ: āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ, āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ, āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏāĨ¤ āĻāϏā§āύ āĻāϝāĻŧā§āĻāĻāĻŋ āϏāĻāĻā§āĻāĻž āĻĒā§āϰāϤāĻŋāώā§āĻ āĻž āĻāϰāĻŋāĨ¤
- āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ (Consistency): āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāϰ āĻ āϰā§āĻĨ āĻšāϞ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž āĻā§āύ āύā§āĻĄā§ āϏāĻāϝā§āĻ āĻāϰāĻā§ āύāĻž āĻā§āύ, āϤāĻžāϰāĻž āϏāĻŦāĻžāĻ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻāĻāĻ āĻĄā§āĻāĻž āĻĻā§āĻā§āĨ¤
- āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ (Availability): āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻāϰ āĻ āϰā§āĻĨ āĻšāϞ⧠āĻā§āύ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĄā§āĻāĻžāϰ āĻāύā§āϝ āϰāĻŋāĻā§āϝāĻŧā§āϏā§āĻ āĻāϰāϞ⧠āϏ⧠āĻāĻāĻāĻŋ āϰā§āϏāĻĒāύā§āϏ āĻĒāĻžāϝāĻŧ, āĻāĻŽāύāĻāĻŋ āϝāĻĻāĻŋ āĻāĻŋāĻā§ āύā§āĻĄ āĻĄāĻžāĻāύ āĻĨāĻžāĻā§āĨ¤
- āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ (Partition Tolerance): āĻāĻāĻāĻŋ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻĻā§āĻāĻŋ āύā§āĻĄā§āϰ āĻŽāϧā§āϝ⧠āϝā§āĻāĻžāϝā§āĻ āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻšāĻāϝāĻŧāĻž āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§āĨ¤ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ āĻāϰ āĻ āϰā§āĻĨ āĻšāϞ⧠āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻĨāĻžāĻāĻž āϏāϤā§āϤā§āĻŦā§āĻ āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āĻāĻžāĻ āĻāϰāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤
CAP āĻĨāĻŋāĻāϰā§āĻŽ āĻŦāϞ⧠āĻ¯ā§ ā§ŠāĻāĻŋ āĻŦā§āĻļāĻŋāώā§āĻā§āϝā§āϰ āĻŽāϧā§āϝ⧠⧍āĻāĻŋāĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰāϤ⧠āĻšāϞ⧠āϤāĻŋāύāĻāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§ āϤā§āϝāĻžāĻ āĻāϰāϤ⧠āĻšāĻŦā§, āϝā§āĻŽāύāĻāĻŋ āĻāĻŋāϤā§āϰ ā§§-āĻ āĻĻā§āĻāĻžāύ⧠āĻšāϝāĻŧā§āĻā§āĨ¤
[āĻāĻŋāϤā§āϰ ā§§-āĻāϰ āĻŦāϰā§āĻŖāύāĻž: āĻāĻŦāĻŋāĻāĻŋ CAP āĻĨāĻŋāĻāϰā§āĻŽ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§, āϤāĻŋāύāĻāĻŋ āĻāĻāĻžāϰāϞā§āϝāĻžāĻĒāĻŋāĻ āĻŦā§āϤā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦā§āϤā§āϤ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻĄā§āĻāĻž āϏā§āĻā§āϰā§āϰ āϤāĻŋāύāĻāĻŋ āĻŽā§āϞ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋāϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§: āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ, āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ, āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏāĨ¤ āϏāĻŦāĻā§āϝāĻŧā§ āĻŦāĻĄāĻŧ āĻŦā§āϤā§āϤāĻāĻŋ, āϝāĻž āĻāĻŋāϞ (teal) āϰāĻā§āϰ, âāĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋâ āϞā§āĻŦā§āϞāϝā§āĻā§āϤ, āϝāĻž āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āϝ⧠āϏāĻŽāϏā§āϤ āύā§āĻĄ āĻāĻāĻ āϏāĻŽāϝāĻŧā§ āĻāĻāĻ āĻĄā§āĻāĻž āĻĻā§āĻā§āĨ¤ āϏāĻŦā§āĻ āĻŦā§āϤā§āϤāĻāĻŋ, âāĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋâ āϞā§āĻŦā§āϞāϝā§āĻā§āϤ, āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āϝ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āϰāĻŋāĻā§āϝāĻŧā§āϏā§āĻ āĻāĻāĻāĻŋ āϰā§āϏāĻĒāύā§āϏ āĻĒāĻžāϝāĻŧ, āĻāĻŽāύāĻāĻŋ āϝāĻĻāĻŋ āĻāĻāĻŋ āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻĒ-āĻā§-āĻĄā§āĻ āĻĄā§āĻāĻž āύāĻžāĻ āĻšāϝāĻŧāĨ¤ āĻšāϞā§āĻĻ āĻŦā§āϤā§āϤāĻāĻŋ, âāĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏâ āϞā§āĻŦā§āϞāϝā§āĻā§āϤ, āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāĻāϞā§āĻ āĻāĻžāĻ āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāĻāϝāĻŧāĻžāϰ āĻā§āώāĻŽāϤāĻž āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§āĨ¤ āĻāĻāĻžāϰāϞā§āϝāĻžāĻĒāĻŋāĻ āĻ āĻā§āĻāϞāĻā§āϞ⧠āĻ āϰā§āĻāύāϝā§āĻā§āϝ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āϏāĻŽāύā§āĻŦāϝāĻŧāĻā§āϞ⧠āĻĻā§āĻāĻžāϝāĻŧ: āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏā§āϰ āĻā§āĻĻāĻā§ âCPâ āϞā§āĻŦā§āϞ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻ āĻĻā§āĻāĻŋ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ āĻ āĻā§āϰāĻžāϧāĻŋāĻāĻžāϰ āĻĻā§āĻāϝāĻŧāĻž āϏāĻŋāϏā§āĻā§āĻŽ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠(āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋāϰ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧā§)āĨ¤ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏā§āϰ āĻā§āĻĻāĻā§ âAPâ āϞā§āĻŦā§āϞ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻ āĻĻā§āĻāĻŋ āĻ āĻā§āϰāĻžāϧāĻŋāĻāĻžāϰ āĻĻā§āĻāϝāĻŧāĻž āϏāĻŋāϏā§āĻā§āĻŽ āĻĻā§āĻāĻžāϝāĻŧ (āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋāϰ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧā§)āĨ¤ āϤāĻŋāύāĻāĻŋ āĻŦā§āϤā§āϤā§āϰ āĻā§āĻ āĻā§āĻĻāĻā§ âCAâ āϞā§āĻŦā§āϞ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž CAP āĻĨāĻŋāĻāϰā§āĻŽ āĻ āύā§āϝāĻžāϝāĻŧā§ āĻŦāĻžāϏā§āϤāĻŦā§ āĻ āϰā§āĻāύāϝā§āĻā§āϝ āύāϝāĻŧāĨ¤ āĻĒāϰāĻŋāĻļā§āώā§, āύāĻŋāĻā§ āĻāĻāĻāĻŋ āĻā§āĻ āĻā§āĻā§āϏāĻ āĻĒāĻĄāĻŧāĻž āϝāĻžāϝāĻŧ âViewer does not support full SVG 1.1,â āϝāĻž āĻāĻŽā§āĻ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āϏāĻĢāĻāĻāϝāĻŧā§āϝāĻžāϰā§āϰ āĻāĻāĻāĻŋ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§āĨ¤] āĻāĻŋāϤā§āϰ ā§§
āĻāĻāĻāĻžāϞ, āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰāĻā§āϞ⧠āϤāĻžāϰāĻž āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āĻāĻŽāύ āĻĻā§āĻāĻŋ CAP āĻŦā§āĻļāĻŋāώā§āĻā§āϝā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻļā§āϰā§āĻŖā§āĻŦāĻĻā§āϧ āĻāϰāĻž āĻšāϝāĻŧ:
- CP (āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ) āϏāĻŋāϏā§āĻā§āĻŽ: āĻāĻāĻāĻŋ CP āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āϤā§āϝāĻžāĻ āĻāϰ⧠āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤
- AP (āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ) āϏāĻŋāϏā§āĻā§āĻŽ: āĻāĻāĻāĻŋ AP āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āϤā§āϝāĻžāĻ āĻāϰ⧠āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻāĻŦāĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤
- CA (āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ) āϏāĻŋāϏā§āĻā§āĻŽ: āĻāĻāĻāĻŋ CA āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāϞāĻžāϰā§āύā§āϏ āϤā§āϝāĻžāĻ āĻāϰ⧠āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤ āϝā§āĻšā§āϤ⧠āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĢā§āĻāϞāĻŋāĻāϰ āĻ āύāĻŋāĻŦāĻžāϰā§āϝ, āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽāĻā§ āĻ āĻŦāĻļā§āϝāĻ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āϏāĻšā§āϝ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϤāĻžāĻ, āĻŦāĻžāϏā§āϤāĻŦ-āĻŦāĻŋāĻļā§āĻŦā§āϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞā§āϤ⧠āĻāĻāĻāĻŋ CA āϏāĻŋāϏā§āĻā§āĻŽ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤
āĻāĻĒāύāĻŋ āĻāĻĒāϰ⧠āϝāĻž āĻĒāĻĄāĻŧā§āĻā§āύ āϤāĻž āĻŦā§āĻļāĻŋāϰāĻāĻžāĻāĻ āϏāĻāĻā§āĻāĻžāϰ āĻ āĻāĻļāĨ¤ āĻāĻāĻŋ āĻŦā§āĻāĻž āϏāĻšāĻ āĻāϰāϤā§, āĻāϏā§āύ āĻāĻŋāĻā§ āĻŦāĻžāϏā§āϤāĻŦ āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āĻĻāĻŋāĻā§ āϤāĻžāĻāĻžāĻāĨ¤ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽā§, āĻĄā§āĻāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻžāϧāĻŋāĻāĻŦāĻžāϰ āϰā§āĻĒā§āϞāĻŋāĻā§āĻ (replicated) āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āϧāϰ⧠āύāĻŋāύ āĻĄā§āĻāĻž āϤāĻŋāύāĻāĻŋ āϰā§āĻĒā§āϞāĻŋāĻāĻž āύā§āĻĄ, n1, n2 āĻāĻŦāĻ n3-āĻ āϰā§āĻĒā§āϞāĻŋāĻā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝā§āĻŽāύāĻāĻŋ āĻāĻŋāϤā§āϰ ⧍-āĻ āĻĻā§āĻāĻžāύ⧠āĻšāϝāĻŧā§āĻā§āĨ¤
āĻāĻĻāϰā§āĻļ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ
āĻāĻĻāϰā§āĻļ āĻŦāĻŋāĻļā§āĻŦā§, āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāĻāύāĻ āĻāĻā§ āύāĻžāĨ¤ n1-āĻ āϞā§āĻāĻž āĻĄā§āĻāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ n2 āĻāĻŦāĻ n3-āĻ āϰā§āĻĒā§āϞāĻŋāĻā§āĻ āĻšāϝāĻŧāĨ¤ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻāĻāϝāĻŧāĻ āĻ āϰā§āĻāĻŋāϤ āĻšāϝāĻŧāĨ¤
[āĻāĻŋāϤā§āϰ ⧍-āĻāϰ āĻŦāϰā§āĻŖāύāĻž: āĻāĻŦāĻŋāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻāĻĒā§āϞāĻāĻŋ āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰ⧠āϝāĻž āϤāĻŋāύāĻāĻŋ āύā§āĻĄ āĻĻā§āĻāĻžāϝāĻŧ, āϝāĻžāĻĻā§āϰ āϞā§āĻŦā§āϞ n1, n2, āĻāĻŦāĻ n3, āϏāĻŋāϞāĻŋāύā§āĻĄāĻžāϰā§āϰ āĻŽāϤ⧠āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻāĻāύ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻŋāϤā§āϰāĻŋāϤāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āύā§āĻĄ āϝā§āĻāĻžāϝā§āĻ āϞāĻŋāĻāĻ āύāĻŋāϰā§āĻĻā§āĻļāĻāĻžāϰ⧠āϰā§āĻāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ āύā§āϝ āĻĻā§āĻāĻŋ āύā§āĻĄā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤ, āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻā§āϰāĻžāĻĢ āĻŦāĻž āϤā§āϰāĻŋāĻā§āĻ āĻāĻ āύ āĻāϰā§āĨ¤ n1 āĻāĻāϝāĻŧ n2 āĻāĻŦāĻ n3 āĻāϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤ, āĻāĻŦāĻ n2 āĻāĻŦāĻ n3 āϏāϰāĻžāϏāϰāĻŋ āĻāĻā§ āĻ āĻĒāϰā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤāĨ¤ āϏāĻāϝā§āĻāĻāĻžāϰ⧠āϰā§āĻāĻžāĻā§āϞā§āϤ⧠āĻā§āύ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĄā§āĻāĻž āĻĒā§āϰāĻŦāĻžāĻšā§āϰ āĻĻāĻŋāĻ āĻŦāĻž āϧāϰāύ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋ; āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύā§āĻĄāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āϏāĻāϝā§āĻā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦ āĻāĻŋāϤā§āϰāĻŋāϤ āĻāϰā§āĨ¤ āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽā§āϰ āύāĻŋāĻā§ âViewer does not support full SVG 1.1â āĻā§āĻā§āϏāĻāĻāĻŋ āĻāĻĒāϏā§āĻĨāĻŋāϤ, āϝāĻž āĻŦā§āϝāĻŦāĻšā§āϤ āĻāĻŽā§āĻ āĻāĻŋāĻāϝāĻŧāĻžāϰā§āϰ āĻāĻāĻāĻŋ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āϏāĻŽāϏā§āϝāĻž āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§āĨ¤ āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽā§āϰ āĻŽāϧā§āϝ⧠āĻā§āύ⧠URL āĻŦāĻž āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻĻā§āĻļā§āϝāĻŽāĻžāύ āύāϝāĻŧāĨ¤] āĻāĻŋāϤā§āϰ ⧍
āĻŦāĻžāϏā§āϤāĻŦ-āĻŦāĻŋāĻļā§āĻŦā§āϰ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽ
āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽā§, āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāĻĄāĻŧāĻžāύ⧠āϝāĻžāϝāĻŧ āύāĻž, āĻāĻŦāĻ āϝāĻāύ āĻāĻāĻāĻŋ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āĻāĻā§, āϤāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋāϰ āĻŽāϧā§āϝ⧠āĻŦā§āĻā§ āύāĻŋāϤ⧠āĻšāϝāĻŧāĨ¤ āĻāĻŋāϤā§āϰ ā§Š-āĻ, n3 āĻĄāĻžāĻāύ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧ āĻāĻŦāĻ n1 āĻāĻŦāĻ n2 āĻāϰ āϏāĻžāĻĨā§ āϝā§āĻāĻžāϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤ āϝāĻĻāĻŋ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž n1 āĻŦāĻž n2-āϤ⧠āĻĄā§āĻāĻž āϰāĻžāĻāĻ āĻāϰā§, āϤāĻŦā§ āĻĄā§āĻāĻž n3-āĻ āĻĒā§āϰā§āĻĒāĻžāĻā§āĻ (āĻāĻĄāĻŧāĻŋāϝāĻŧā§) āĻšāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤ āϝāĻĻāĻŋ āĻĄā§āĻāĻž n3-āĻ āϰāĻžāĻāĻ āĻāϰāĻž āĻšāϝāĻŧ āĻāĻŋāύā§āϤ⧠āĻāĻāύāĻ n1 āĻāĻŦāĻ n2-āϤ⧠āĻĒā§āϰā§āĻĒāĻžāĻā§āĻ āύāĻž āĻšāϝāĻŧ, āϤāĻŦā§ n1 āĻāĻŦāĻ n2-āϤ⧠āϏā§āĻā§āϞ (āĻĒā§āϰāĻžāύā§) āĻĄā§āĻāĻž āĻĨāĻžāĻāĻŦā§āĨ¤
[āĻāĻŋāϤā§āϰ ā§Š-āĻāϰ āĻŦāϰā§āĻŖāύāĻž: āĻāĻŦāĻŋāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻāĻĒā§āϞāĻāĻŋ āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰ⧠āϝāĻž āϤāĻŋāύāĻāĻŋ āύā§āĻĄ āĻĻā§āĻāĻžāϝāĻŧ, āϝāĻžāĻĻā§āϰ āϞā§āĻŦā§āϞ n1, n2, āĻāĻŦāĻ n3, āϏāĻŋāϞāĻŋāύā§āĻĄāĻžāϰā§āϰ āĻŽāϤ⧠āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻāĻāύ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻŋāϤā§āϰāĻŋāϤāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āύā§āĻĄ āϝā§āĻāĻžāϝā§āĻ āϞāĻŋāĻāĻ āύāĻŋāϰā§āĻĻā§āĻļāĻāĻžāϰ⧠āϰā§āĻāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ āύā§āϝ āĻĻā§āĻāĻŋ āύā§āĻĄā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤ, āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻā§āϰāĻžāĻĢ āĻŦāĻž āϤā§āϰāĻŋāĻā§āĻ āĻāĻ āύ āĻāϰā§āĨ¤ n1 āĻāĻāϝāĻŧ n2 āĻāĻŦāĻ n3 āĻāϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤ, āĻāĻŦāĻ n2 āĻāĻŦāĻ n3 āϏāϰāĻžāϏāϰāĻŋ āĻāĻā§ āĻ āĻĒāϰā§āϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻā§āϤāĨ¤ āϏāĻāϝā§āĻāĻāĻžāϰ⧠āϰā§āĻāĻžāĻā§āϞā§āϤ⧠āĻā§āύ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĄā§āĻāĻž āĻĒā§āϰāĻŦāĻžāĻšā§āϰ āĻĻāĻŋāĻ āĻŦāĻž āϧāϰāύ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋ; āĻĄāĻžāϝāĻŧāĻžāĻā§āϰāĻžāĻŽāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύā§āĻĄāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āϏāĻāϝā§āĻā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦ āĻāĻŋāϤā§āϰāĻŋāϤ āĻāϰā§āĨ¤ āύāĻŋāĻā§ âViewer does not support full SVG 1.1â āĻā§āĻā§āϏāĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āϰāĻžāĻāĻāĻžāϰ-āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻŦāĻžāϰā§āϤāĻž āϝāĻž āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻāĻĒā§āϞāĻāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āύāϝāĻŧāĨ¤] āĻāĻŋāϤā§āϰ ā§Š
āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋāϰ āĻā§āϝāĻŧā§ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋāĻā§ āĻŦā§āĻā§ āύāĻŋāĻ (CP āϏāĻŋāϏā§āĻā§āĻŽ), āϤāĻŦā§ āĻāĻ āϤāĻŋāύāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻŽāϧā§āϝ⧠āĻĄā§āĻāĻž āĻāύāĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻĄāĻŧāĻžāϤ⧠āĻāĻŽāĻžāĻĻā§āϰ n1 āĻāĻŦāĻ n2-āϤ⧠āϏāĻŽāϏā§āϤ āϰāĻžāĻāĻ āĻ āĻĒāĻžāϰā§āĻļāύ āĻŦā§āϞāĻ āĻāϰāϤ⧠āĻšāĻŦā§, āϝāĻž āϏāĻŋāϏā§āĻā§āĻŽāĻā§ āĻ āύā§āĻĒāϞāĻŦā§āϧ (unavailable) āĻāϰ⧠āϤā§āϞā§āĨ¤ āĻŦā§āϝāĻžāĻāĻ āϏāĻŋāϏā§āĻā§āĻŽāĻā§āϞā§āϤ⧠āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ āϤā§āϝāύā§āϤ āĻāĻā§āĻ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻĨāĻžāĻā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ āĻŦā§āϝāĻžāĻāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāύā§āϝ āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻĒ-āĻā§-āĻĄā§āĻ āĻŦā§āϝāĻžāϞā§āύā§āϏā§āϰ āϤāĻĨā§āϝ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāĻž āĻ āϤā§āϝāύā§āϤ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤ āϝāĻĻāĻŋ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύā§āϰ āĻāĻžāϰāĻŖā§ āĻāύāĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āĻāĻā§, āϤāĻŦā§ āĻŦā§āϝāĻžāĻāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāύāĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻšāĻāϝāĻŧāĻžāϰ āĻāĻā§ āĻāĻāĻāĻŋ āĻāϰāϰ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤
āϤāĻŦā§, āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋāϰ āĻā§āϝāĻŧā§ āĻ ā§āϝāĻžāĻā§āĻāϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻŦā§āĻā§ āύāĻŋāĻ (AP āϏāĻŋāϏā§āĻā§āĻŽ), āϤāĻŦā§ āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āϰāĻŋāĻĄ āĻā§āϰāĻšāĻŖ āĻāϰāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧ, āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āϏā§āĻā§āϞ āĻĄā§āĻāĻž āϰāĻŋāĻāĻžāϰā§āύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϰāĻžāĻāĻā§āϰ āĻāύā§āϝ, n1 āĻāĻŦāĻ n2 āϰāĻžāĻāĻ āĻā§āϰāĻšāĻŖ āĻāϰāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāĻŦā§, āĻāĻŦāĻ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒāĻžāϰā§āĻāĻŋāĻļāύ āϏāĻŽāĻžāϧāĻžāύ āĻšāϞ⧠āĻĄā§āĻāĻž n3-āĻ āϏāĻŋāĻā§āĻ āĻāϰāĻž āĻšāĻŦā§āĨ¤
āĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻā§āώā§āϤā§āϰā§āϰ āϏāĻžāĻĨā§ āĻŽāĻžāύāĻžāύāϏāĻ āϏāĻ āĻŋāĻ CAP āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ āĻŦā§āĻā§ āύā§āĻāϝāĻŧāĻž āĻāĻāĻāĻŋ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻā§-āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āϤā§āϰāĻŋāϰ āĻāĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϧāĻžāĻĒāĨ¤ āĻāĻĒāύāĻŋ āĻāĻāĻŋ āύāĻŋāϝāĻŧā§ āĻāĻĒāύāĻžāϰ āĻāύā§āĻāĻžāϰāĻāĻŋāĻāϝāĻŧāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāϞā§āĻāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āϏā§āĻ āĻ āύā§āϝāĻžāϝāĻŧā§ āϏāĻŋāϏā§āĻā§āĻŽ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤