Share
Embed
P2P ネットワークトポロジとしての de Bruijn 族グラフ
第10回 Sensor & Overlay ワークショップ@東工大
2018年9月8日
Youki Shiraishi
September 08, 2018
Transcript
19 slides
-
P2P ωοτϫʔΫτϙϩδͱͯ͠ͷ de Bruijn άϥϑ നੴ ༟ً ಸྑઌՊֶٕज़େֶӃେֶ ใՊֶݚڀՊ αΠόʔϨδϦΤϯεߏֶݚڀࣨ
ୈ10ճ Sensor & Overlay ϫʔΫγϣοϓ@౦େ 20189݄8 0VUHSPXZPVSMJNJUT ແ ݶ ͷ Մ ೳ ੑ ɺ ͕͜͜ ࠷ ઌ -
ࣗݾհ • നੴ ༟ً, M2@NAIST IPLab ‣ 2013-2015 ࡂใج൫ͷ։ൃ ‣
2014-2015 ॊೈͳܦ࿏ද ‣ 2015-2017 Skip Graph ͷෛՙࢄ ‣ Jun 2017 P2P ͷηΩϡϦςΟʹڵຯ ‣ Mar 2018 ΤοδίϯϐϡʔςΟϯάʹڵຯ ‣ Jul 2018 P2P ͷάϥϑཧʹڵຯ • झຯ: ԹઘɺԻָɺςεϥίΠϧɺࣗಈમػɺL2/L3 ‣ ࠷ۙ Interop Tokyo 2018 Ͱ STM ͯ͠·ͨ͠ 2 @9th Sensor & Overlay -
ݚڀഎܠ • Kautz άϥϑͷܘ Moore όϯυ [1] ͔Βಋ͔ΕΔ ܘͷԼքʹҰக͢Δ [2]
• P2P ωοτϫʔΫτϙϩδͱͯ͠ Kautz άϥϑΛ࠾༻͢Δ ݚڀ͕׆ൃʹߦΘΕ͍ͯΔ (ޙ΄Ͳհ) ݚڀͷඪ • Kautz άϥϑͷੑ࣭Λҡ࣋͠ͳ͕ΒଞͷϝτϦοΫΛߟྀ͠ɺ ΑΓྑ͍ωοτϫʔΫτϙϩδΛ࣮ݱ͢Δ 4 [1] M. Miller and J. VSirávn, “Moore graphs and beyond: A survey of the degree/ diameter problem,” Electron. J. Comb. Dyn. Surv., vol. 14, pp. 1–61, 2005. [2] D. Li, X. Lu, and J. Su, “Graph-Theoretic Analysis of Kautz Topology and DHT Schemes,” Springer, Berlin, Heidelberg, 2004, pp. 308–315. -
De Bruijn άϥϑ ΞϧϑΝϕοτʹΑΔఆٛ ΞϧϑΝϕοτ Σ = {0, 1, ...,
d − 1} ʹରͯ͠ de Bruijn άϥϑ DB (d, k) ࣍ͷΑ͏ʹఆٛ͞ΕΔ 5 ϥΠϯάϥϑʹΑΔఆٛ • DB (d, 1) ֤ʹϧʔϓΛ࣋ͭ d ͷશάϥϑͰ͋Δ • k > 1 ʹରͯ͠ DB (d, k) DB (d, k − 1) ͷϥΠϯάϥϑͰ͋Δ V = {a0 a1 …ak−1 ∣ a1 , a2 , …, ak−1 ∈ Σ} A = {⟨u, v⟩⟩ ∣ v0 = u1 , v1 = u2 , …, vk−2 = uk−1 } ߹ಉࣜʹΑΔఆٛ De Bruijn άϥϑ DB (d, k) ࣍ͷΑ͏ʹఆٛ͞ΕΔ V = ℤdk , A = {⟨i, di + r⟩ ∣ i ∈ V, r ∈ ℤd } -
༗άϥϑͷϥΠϯάϥϑ 6 V(L(D)) = A(D) A(L(D)) = {⟨uv, vw⟩ ∣
⟨u, v⟩, ⟨v, w⟩ ∈ A(D)} ༗άϥϑ D ͷϥΠϯάϥϑ L(D) ࣍ͷΑ͏ʹఆٛ͞ΕΔ 0 1 2 3 01 12 23 31 30 (a) D (b) L(D) ϥΠϯάϥϑͷྫ -
Kautz άϥϑ ΞϧϑΝϕοτʹΑΔఆٛ ΞϧϑΝϕοτ Σ = {0, 1, ..., d}
ʹରͯ͠ Kautz άϥϑ DK (d, k) ࣍ͷΑ͏ʹఆٛ͞ΕΔ 7 V = {a0 a1 …ak−1 ∣ a0 ≠ a1 , a1 ≠ a2 , …, ak−2 ≠ ak−1 , a1 , a2 , …, ak−1 ∈ Σ} A = {⟨u, v⟩⟩ ∣ v0 = u1 , v1 = u2 , …, vk−2 = uk−1 } ߹ಉࣜʹΑΔఆٛ Kautz άϥϑ DK (d, k) ࣍ͷΑ͏ʹఆٛ͞ΕΔ V = ℤdk−1+dk , A = {⟨i, − d(i + 1) + r⟩ ∣ i ∈ V, r ∈ ℤd } ϥΠϯάϥϑʹΑΔఆٛ • DK (d, 1) d + 1 ͷશରশάϥϑͰ͋Δ • k > 1 ʹରͯ͠ DK (d, k) DK (d, k − 1) ͷϥΠϯάϥϑͰ͋Δ -
De Bruijn άϥϑʹ͓͚ΔϧʔςΟϯά 8 001 B(2, 3) 000 011 111
110 101 010 100 άϥϑ B(2, 1), B(2, 2), B(2, 3) K(2, 1) K(2, 2) K(2, 3) 0 1 01 10 21 12 02 20 210 121 101 012 010 212 120 201 202 020 102 021 ਤ 3.2: Kautz μΠάϥϑ K(2, 1), K(2, 2), K(2, 3) (a) de Bruijn άϥϑ DB(2, 3) (b) Kautz άϥϑ DK(2, 3) -
ؔ࿈ݚڀ FISSIONE, Moore, BAKE, SKY: Kautz άϥϑߏΛԠ༻ͨ͠ τϙϩδΛ࣋ͭ P2P ωοτϫʔΫ
• ରΦʔμͷܘɺఆ࣍ • ID ϕʔε d + 1 ͷ Kautz จࣈྻɺ͞ k Մม • Kautz จࣈྻۭؒͷେ͖͞ N(d, k) = dk−1 + dk • ID ۭؒ S ⊂ {0, 1, ..., d}+ • ID k ∈ S ID ͕ k ͷ࠷ڞ௨಄ࣙͱͳΔϊʔυ͕୲ ࢄϥΠϯάϥϑ: ҙͷਖ਼ଇάϥϑʹجͮ͘ P2P ωοτϫʔΫ Λߏங͢ΔͨΊͷΈ 9 -
ؔ࿈ݚڀ (Cont.) FISSIONE [3] • ॳظτϙϩδͱͯ͠ d = 2 ͷ
Kautz άϥϑ K (2, k) Λར༻ • ׂ/ซ߹ΞϧΰϦζϜʹΑΓ ID ۭؒΛκʔϯʹׂ Moore [4] • ॳظτϙϩδ K(d, k) Ͱϊʔυ (N(d, k − 1), N(d, k)] • ID ͷܻΛՃ/আͯ͠τϙϩδΛ֦ு/ॖখ 10 [3] D. Li, X. Lu, and J. Wu, “FISSIONE: a scalable constant degree and low congestion DHT scheme based on Kautz graphs,” in Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies., 2005, vol. 3, pp. 1677–1688 vol. 3. [4] Deke Guo, Jie Wu, Yunhao Liu, Hai Jin, Hanhua Chen, and Tao Chen, “Quasi-Kautz Digraphs for Peer-to-Peer Networks,” IEEE Trans. Parallel Distrib. Syst., vol. 22, no. 6, pp. 1042–1055, Jun. 2011. -
ؔ࿈ݚڀ (Cont.) BAKE [5] • ฏߧ Kautz Λར༻ • k
ʹରͯͯ͢͠ͷϊʔυ Ϩϕϧ (k − 1) ͷϦϯάͷ ʹରԠ • τϙϩδͷ֦ு/ॖখϦϯάͷ ભҠʹ૬ 11 [5] D. Guo, Y. Liu, and X. Li, “BAKE: A Balanced Kautz Tree Structure for Peer-to-Peer Networks,” in IEEE INFOCOM 2008 - The 27th Conference on Computer Communications, 2008, pp. 2450–2457. ฏߧ Kautz Root 0 1 2 20 10 01 21 12 02 120 010 210 101 201 121 021 212 012 202 102 020 100 101 10 b c 011 021 102 012 201 010 020 120 212 202 210 121 101 Fig. 4.6 (a) Node joins/leaves in the HiPeer concentric multi-ring topology. (b) Complete Kautz graph K (2,3 ). (c) Complete Kautz tree for m = 2 and n= 3 Moore [18 ] extends FISSIONE to a general Kautz graph K (m,n ). A Moore overlay selects an initial nand starts with N ∈ (N(n− 1,m),N(n ,m)] nodes forming the Kautz graph topology. Then the overlay either expands or shrinks to the range (N(n− 2,m),N(n− 1,m)] or (N(n ,m),N(n+ 1,m)]. Every node changes its ID appropriately by adding or removing one digit. The design requires global -
ؔ࿈ݚڀ (Cont.) ࢄϥΠϯάϥϑ [6] • ہॴతͳϥΠϯάϥϑ (DL άϥϑ) ʹΑΔτϙϩδͷ֦େ/ॖখ •
ͱͼͱͼͷʹରͯ͠ซ߹/ׂ (DL+ άϥϑ) SKY [7] • ࢄϥΠϯάϥϑʹجͮ͘ࢄϋογϡද • ࢄ Kautz άϥϑ + Kautz ϋογϡ 12 [6] Y. Zhang, L. Liu, D. Li, and X. Lu, “Distributed Line Graphs: A Universal Framework for Building DHTs Based on Arbitrary Constant-Degree Graphs,” in 2008 The 28th International Conference on Distributed Computing Systems, 2008, pp. 152–159. [7] Y. Zhang, X. Lu, D. Li, “SKY: efficient peer-to-peer networks based on distributed Kautz graphs,” Sci. China Ser. F Inf. Sci., vol. 52, no. 4, pp. 588–601, 2009. -
طଘख๏ͷ՝ͱݚڀͷΞϓϩʔν • De Bruijn άϥϑͷݫີͳτϙϩδ੍ ‣ Pros. de Bruijn άϥϑͷ༷ʑͳੑ࣭
(e.g. ࠷খܘ) ‣ Cons. ଞͷϝτϦοΫΛߟྀͰ͖ͳ͍ (e.g. Լ NW) • ݫີͳτϙϩδ੍ͷൈ͚Λ͍ͭͯଞͷϝτϦοΫΛߟྀ ‣ ॊೈͳܦ࿏දΛ͓͏ 👉 ͕ͯ͢ sticky entry ͔ͭ Hamiltonicity ͕อূ͞Εͳ͍ ‣ ࢄϥΠϯάϥϑͷซ߹/ׂͱϊʔυͷ ࢀՃ/ʹண 13 -
ݫີͳτϙϩδ੍ͷൈ͚? ࢄϥΠϯάϥϑ ([6] ͷఆٛ 1. ΑΓ) 14 LEDGE AND DATA
ENGINEERING, VOL. 24, NO. 9, SEPTEMBER 2012 LEDGE AND DATA ENGINEERING, VOL. 24, NO. 9, SEPTEMBER 2012 Next, we will present the definition of distributed line graphs in an iterative manner, that is, we define the nodes and edges of Giþ1, the ðiþ1Þth graph of a series of distributed line graphs, by describing how to obtain Giþ1 from Gi, i ¼ 0; 1; 2; . . . Definition 1. Let the initial graph G0 ¼ ðV ; EÞ be a d-regular graph. A series of graphs Giþ1 ¼ DLðGi; vðiÞÞ with i ¼ 0; 1; 2; . . . , where node vðiÞ 2 V ðGi Þ satisfies 8u 2 ÀÀ Gi ðvðiÞÞ [ Àþ Gi ðvðiÞÞ; jvðiÞj juj; ð3aÞ is said to be a family of distributed line (DL) graphs with base d, if the following conditions hold: V ðGiþ1 Þ ¼ V ðGi Þ À fvðiÞg þ fu vðiÞju 2 ÀÀ Gi ðvðiÞÞg ð3bÞ EðGiþ1 Þ ¼ EðGi Þ À f½x; vðiÞjx 2 ÀÀ Gi ðvðiÞÞg À f½vðiÞ; yjy 2 Àþ Gi ðvðiÞÞg þ f½u; u vðiÞju 2 ÀÀ Gi ðvðiÞÞg þ f½u vðiÞ; wju 2 ÀÀ Gi ðvðiÞÞ;w 2 Àþ Gi ðvðiÞÞg: ð3cÞ The transition from Gi to Giþ1 is called distributed line iteration, and node vðiÞ is called responsible node. (We defer 1558 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 24, NO. 9, SEPTEMBER 20 on of distributed line we define the nodes aph of a series of how to obtain Giþ1 ðV ; EÞ be a d-regular LðGi; vðiÞÞ with i ¼ 0; fies iÞj juj; ð3aÞ ne (DL) graphs with u 2 ÀÀ Gi ðvðiÞÞg ð3bÞ vðiÞÞg vðiÞju 2 ÀÀ Gi ðvðiÞÞg Gi ðvðiÞÞg: ð3cÞ led distributed line ible node. (We defer EE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 24, NO. 9, SEPTEMBER 2012 Next, we will present the definition of distributed line graphs in an iterative manner, that is, we define the nodes and edges of Giþ1, the ðiþ1Þth graph of a series of distributed line graphs, by describing how to obtain Giþ1 from Gi, i ¼ 0; 1; 2; . . . Definition 1. Let the initial graph G0 ¼ ðV ; EÞ be a d-regular graph. A series of graphs Giþ1 ¼ DLðGi; vðiÞÞ with i ¼ 0; 1; 2; . . . , where node vðiÞ 2 V ðGi Þ satisfies 8u 2 ÀÀ Gi ðvðiÞÞ [ Àþ Gi ðvðiÞÞ; jvðiÞj juj; ð3aÞ is said to be a family of distributed line (DL) graphs with base d, if the following conditions hold: V ðGiþ1 Þ ¼ V ðGi Þ À fvðiÞg þ fu vðiÞju 2 ÀÀ Gi ðvðiÞÞg ð3bÞ EðGiþ1 Þ ¼ EðGi Þ À f½x; vðiÞjx 2 ÀÀ Gi ðvðiÞÞg À f½vðiÞ; yjy 2 Àþ Gi ðvðiÞÞg þ f½u; u vðiÞju 2 ÀÀ Gi ðvðiÞÞg þ f½u vðiÞ; wju 2 ÀÀ Gi ðvðiÞÞ;w 2 Àþ Gi ðvðiÞÞg: ð3cÞ The transition from Gi to Giþ1 is called distributed line iteration, and node vðiÞ is called responsible node. (We defer the discussion on how to find vðiÞ to Section 4.1.) We say that the series of DL graphs is derived from initial graph G0. In Definition 1: (3a) puts restrictions on the responsible node of each DL iteration for balance purpose (which will be used in the following analysis in Section 2.5), i.e., the identifier length of vðiÞ is no greater than any of its direct neighbors; (3b) gives the new nodes generated by old edges; and (3c) presents the rules of generating new edges. Let’s take Figs. 2a, 2b, 2c, 2d, and 2e as an example to illustrate the decomposed procedure of DL iteration G1 ¼ 1558 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, V V(Gi+1 ) = V(Gi )∖{v(i)} ∪ {u ∘ v(i) ∣ u ∈ Γ− Gi (v(i))} E(Gi+1 ) = E(Gi )∖{⟨x, v(i)⟩ ∣ x ∈ Γ− Gi (v(i))}∖{⟨v(i), y⟩ ∣ y ∈ Γ+ Gi (v(i))} ∪ {⟨u, u ∘ v(i)⟩ ∣ u ∈ Γ− Gi (v(i))} ∪ {⟨u ∘ v(i), w⟩ ∣ u ∈ Γ− Gi (v(i)), w ∈ Γ+ Gi (v(i))} DK(2, 2) ͷ 1 Λબ͠ɺࢄϥΠϯάϥϑʹΑΓล-ભҠ ([6] ͷਤ 2. ΑΓ) d ݸͷ৽ͨͳ -
ݫີͳτϙϩδ੍ͷൈ͚? (Cont.) • ซ߹/ׂΛߦ͏͜ͱͰҙͷϊʔυΛѻ͏ ‣ ซ߹: ࢄϥΠϯάϥϑʹΑͬͯੜ͞Εͨ d ݸͷ ΛҰͭʹ·ͱΊΔ
‣ ׂ: ·ͱΊͨΛ࠶ղ͢Δ • طଘख๏ [6] Ͱݫີʹఆٛ͞Ε͍ͯΔ • ซ߹/ׂͷݫີͳఆٛΛ؇͠ɺϊʔυͷࢀՃ/ͷ ࡍʹଞͷϝτϦοΫΛߟྀ͢Δ͜ͱΛՄೳʹ͢Δ 15 -
ݫີͳτϙϩδ੍ͷൈ͚? (Cont.) 16 e e . g , , -
e t u - s e e e KNOWLEDGE AND DATA ENGINEERING, VOL. 24, NO. 9, SEPTEMBER 2012 se he d. ng e, 1, n- he t u ut- is he de he KNOWLEDGE AND DATA ENGINEERING, VOL. 24, NO. 9, SEPTEMBER 2012 ne. Clearly (6a) holds initially for G0. Suppose olds for Gi with i ! 0. From Definition 1, the Giþ1 ¼ DLðGi; vÞ all have an out-degree of d. a) holds. If x has an in-neighbor y satisfying then y is the only in-neighbor of x. Otherwise, eighbor y satisfies jyj ! jxj. Then, by Theorem 1, d2 and (6b) holds. Clearly, the sum of in- f all nodes is equal to that of out-degrees, so the n-degree is d. Thus, Theorem 2 holds. t u rem shows that the DL graphs are always d-out- nd although the in-degree upper bound is rge (d2) in DL graphs, we would show (in the heorem 4 in Section 3.4) that in practice a node bled DHTs has at most 2d in-neighbors. wing Theorem 3 gives the upper bound for the DL graphs. Let graph G be a DL graph with base d and order N. der and diameter of the initial graph G0 be N0 and tively. Then, the diameter of G satisfies DðGÞ 2ðlogd N À logd N0 þ D0 Þ: ð7Þ f includes two steps: 1) deriving the relationship meter and shortest node identifier length; and g the maximum difference between all pairs of ier lengths. Therefore, DL iteration with base d > 2 canno applied to building DHTs. This section extends DL iteration to suppo Fig. 3. Example of merge operation. Note that nodes 8, 9 have nothing to do with this iteration, are omitted here fo ࢄϥΠϯάϥϑʹΑΓੜ͞Εͨ 61, 41, 01 ʹ͍ͭͯ 41 Λ 01 ซ߹ ([6] ͷਤ 3. ΑΓ) G1 = DL(1, G0) Merge(G1, 1) -
·ͱΊ • Kautz άϥϑʹجͮ͘ߏԽΦʔόϨΠΛ͍͔ͭ͘հ ‣ ࣍Λݻఆͨ͠τϙϩδ ‣ ҙͷ࣍ʹରԠͨ͠τϙϩδ ‣ ҙͷਖ਼ଇάϥϑʹجͮ͘τϙϩδ
ࠓޙ • ࢄϥΠϯάϥϑͷซ߹/ׂͱϊʔυͷ ࢀՃ/ʹଞͷϝτϦοΫΛऔΓೖΕΔΈͷఏҊ 17 -
ਖ਼ଇͳ༗άϥϑ 19 ⋮ ೖྡ d-ೖਖ਼ଇ ೖ࣍ deg−(v) = d
v ⋮ ग़ྡ d-ग़ਖ਼ଇ ग़࣍ deg+(v) = d v d-ਖ਼ଇ ∧ 8 > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > : <latexit sha1_base64="opve0ohrliUzF9eB7xyhyf2cFaM=">AAAC5Hic1VJLS8QwEE7ra11fVY9egovgqbQi6HHBi8cV3Adsy5Km092waVqSVFzKnr14UMSrP8qbv8WL2Yf4/gEOhPnyzUwyryjnTGnPe7HshcWl5ZXKanVtfWNzy9neaamskBSaNOOZ7EREAWcCmpppDp1cAkkjDu1oeDaxt69AKpaJSz3KIUxJX7CEUaIN1XNeAw6JDspqEEGfiTIlWrLrcXVKu4Fk/YFRwf+/g4g/ipvRPafmuUfeRPBP4LtT7dXQXBo95zmIM1qkIDTlRKmu7+U6LInUjHIw7xYKckKHpA9dAwVJQYXldEhjfGCYGCeZNEdoPGU/R5QkVWqURsbT5DlQ320T8jdbt9DJaVgykRcaBJ19lBQc6wxPJo5jJoFqPjKAUMlMrpgOiCRUm72omia8V4r/Bq0j1/dc/+K4Vq/P21FBe2gfHSIfnaA6OkcN1ETUItaNdWfd24l9az/YjzNX25rH7KIvYj+9AaS/50s=</latexit> <latexit sha1_base64="opve0ohrliUzF9eB7xyhyf2cFaM=">AAAC5Hic1VJLS8QwEE7ra11fVY9egovgqbQi6HHBi8cV3Adsy5Km092waVqSVFzKnr14UMSrP8qbv8WL2Yf4/gEOhPnyzUwyryjnTGnPe7HshcWl5ZXKanVtfWNzy9neaamskBSaNOOZ7EREAWcCmpppDp1cAkkjDu1oeDaxt69AKpaJSz3KIUxJX7CEUaIN1XNeAw6JDspqEEGfiTIlWrLrcXVKu4Fk/YFRwf+/g4g/ipvRPafmuUfeRPBP4LtT7dXQXBo95zmIM1qkIDTlRKmu7+U6LInUjHIw7xYKckKHpA9dAwVJQYXldEhjfGCYGCeZNEdoPGU/R5QkVWqURsbT5DlQ320T8jdbt9DJaVgykRcaBJ19lBQc6wxPJo5jJoFqPjKAUMlMrpgOiCRUm72omia8V4r/Bq0j1/dc/+K4Vq/P21FBe2gfHSIfnaA6OkcN1ETUItaNdWfd24l9az/YjzNX25rH7KIvYj+9AaS/50s=</latexit> <latexit sha1_base64="opve0ohrliUzF9eB7xyhyf2cFaM=">AAAC5Hic1VJLS8QwEE7ra11fVY9egovgqbQi6HHBi8cV3Adsy5Km092waVqSVFzKnr14UMSrP8qbv8WL2Yf4/gEOhPnyzUwyryjnTGnPe7HshcWl5ZXKanVtfWNzy9neaamskBSaNOOZ7EREAWcCmpppDp1cAkkjDu1oeDaxt69AKpaJSz3KIUxJX7CEUaIN1XNeAw6JDspqEEGfiTIlWrLrcXVKu4Fk/YFRwf+/g4g/ipvRPafmuUfeRPBP4LtT7dXQXBo95zmIM1qkIDTlRKmu7+U6LInUjHIw7xYKckKHpA9dAwVJQYXldEhjfGCYGCeZNEdoPGU/R5QkVWqURsbT5DlQ320T8jdbt9DJaVgykRcaBJ19lBQc6wxPJo5jJoFqPjKAUMlMrpgOiCRUm72omia8V4r/Bq0j1/dc/+K4Vq/P21FBe2gfHSIfnaA6OkcN1ETUItaNdWfd24l9az/YjzNX25rH7KIvYj+9AaS/50s=</latexit> <latexit sha1_base64="opve0ohrliUzF9eB7xyhyf2cFaM=">AAAC5Hic1VJLS8QwEE7ra11fVY9egovgqbQi6HHBi8cV3Adsy5Km092waVqSVFzKnr14UMSrP8qbv8WL2Yf4/gEOhPnyzUwyryjnTGnPe7HshcWl5ZXKanVtfWNzy9neaamskBSaNOOZ7EREAWcCmpppDp1cAkkjDu1oeDaxt69AKpaJSz3KIUxJX7CEUaIN1XNeAw6JDspqEEGfiTIlWrLrcXVKu4Fk/YFRwf+/g4g/ipvRPafmuUfeRPBP4LtT7dXQXBo95zmIM1qkIDTlRKmu7+U6LInUjHIw7xYKckKHpA9dAwVJQYXldEhjfGCYGCeZNEdoPGU/R5QkVWqURsbT5DlQ320T8jdbt9DJaVgykRcaBJ19lBQc6wxPJo5jJoFqPjKAUMlMrpgOiCRUm72omia8V4r/Bq0j1/dc/+K4Vq/P21FBe2gfHSIfnaA6OkcN1ETUItaNdWfd24l9az/YjzNX25rH7KIvYj+9AaS/50s=</latexit>